derived class constructor call base constructor
我有一个基类数组和一个派生类数字数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Array{//Array.h private: int size; public: Array();//Default constructor Array(int index);// Initialize with size GetSize();//getter function }; class NumericArray:public Array {//NumericArray.h public: NumericArray();//Default constructor NumericArray(int index);// Initialize with size }; |
我知道如何调用Numericarray类中的默认数组构造函数。但说到数字数组(int index),我不知道。由于派生类不能访问基类中的大小,我认为应该在基类中使用getter函数。但我该怎么办呢?
谢谢。
由于
有两种方法可以访问儿童类中的
使
1 | protected: int size; |
号
在返回
1 2 | public: GetSize() { return size } |
只要派生类实例化了一个对象,就可以调用基类的构造函数。通过使用类似于member init的方法,可以相对容易地做到这一点:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class Base { private: int size; public: Base(int param) { size = param;} //rest of the code here }; class Derived : public Base { private: //other data members public: Derived(int param): Derived(param) { //set rest of data} }; |
这将把