这里是一个需要注意的小常识
/**
* 在子类对象构造时,需要调用父类构造函数对其继承得来的成员进行初始化
在子类对象析构时,需要调用父类析构函数对其继承得来的成员进行清理
*/
class A {
public:
A(int a){
this->a = a;
}
protected:
int a;
};
class B :public A{
public:
/**
* 在子类对象构造时,需要调用父类构造函数对其继承得来的成员进行初始化
在子类对象析构时,需要调用父类析构函数对其继承得来的成员进行清理
*/
B(int a,int b):A(a){
this->b = b;
}
void printAB(){
cout<<"a:"<<a<<" b:"<<b<<endl;
}
private:
int b;
};
int main(int argc, const char * argv[]) {
// insert code here...
std::cout << "Hello, World!\n";
B b(10,20);
b.printAB();
return 0;
}