class Base
{
public:
Base(int a);
};
Base::Base(int a)
{
}
class Child : public Base
{
public:
Child(int a) :Base(a); //报错
};
Child::Child(int a) :Base(a)
{
}
...全文
2034打赏收藏
C++继承时对基类的初始化问题
如下代码:对基类的初始化不能在类外定义吗? class Base { public: Base(int a); }; Base::Base(int a) { } class Child : public Base { public: Child(int a) :Base(a);//报错 }; Child::Child(int a) :Base(a) { }
类外:
class Child : public Base
{
public:
Child(int a);
};
Child::Child(int a) :Base(a)
{
}
类内:
class Child : public Base
{
public:
Child(int a) :Base(a) {}
};