【发布时间】:2012-02-21 19:58:26
【问题描述】:
我有两个继承自同一个抽象超类的子类。所有子类都有一个共同的操作,这取决于几个属性。让我用一个例子来解释:
说这是超类 A(A 是抽象的):
class superClass
{
int valueA;
int valueB;
float* array;
public superClass(){
array[valueA + valueB]
}
virtual foo(){
}
}
这些是我的子类:
class firstSubClass: superClass
{
public firstSubClass():superClass(), valueA(100),valueB(2){
}
foo(){
}
}
class secondSubClass: superClass
{
public secondSubClass():superClass(), valueA(50),valueB(3){
}
foo(){
}
}
数组会被正确初始化吗?这意味着,是在超类之前调用子类构造函数,还是相反?
有没有办法通过将初始化行为放入超类中来使两个子类共有的初始化行为?
提前致谢。
【问题讨论】:
标签: c++ inheritance