65,210
社区成员
发帖
与我相关
我的任务
分享
class CBase
{
public:
CBase(){std::cout << "Base constructor!" << std::endl;}
virtual ~CBase(){}
virtual void empty() const = 0;
};
class CDerived : public CBase
{
public:
CDerived():CBase() //调用父类构造函数
{
}
void empty() const
{
}
};
class A
{
public:
A():m_i(0){}
A(int i):m_i(i){}
virtual ~A(){}
private:
int m_i;
}
class B : public A
{
public:
B(){}//子类自动调用父类A()构造
//要调用A(int i)构造
B(int i):A(i) //这样写就会调用父类指定的构造函数了
{}
virtual ~B(){}
}
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"Base constructor!"<<endl;
}
virtual ~A()
{
}
virtual void Method() = 0;
};
class B:public A
{
public:
B();
void Method();
~B()
{
}
};
B::B()
{
//A:A(); //这样调用有错误!!!
}
void B::Method()
{
}
void main()
{
B b;
}