#include
using namespace std;
class A
{
private:
int x;
public:
A(){}
A(int t)
{
static int i=0;
i++;
cout<<"A类的构造函数被调用第"<<i<<"次"<<"\n";
x=t;
cout<<"x="<<x<<"我是A类"<<"\n";
}
virtual ~A()
{
static int j=0;
j++;
cout<<"A类的析构函数被调用第"<<j<<"次"<<"\n";
}
virtual void get()
{
cout<<"我是A类"<<"\n";
}
};
class B: public A
{
private:
int x;
public:
virtual void get()
{
cout<<"我是B类"<<"\n";
}
B(int t)
{
static int i=0;
i++;
cout<<"B类的构造函数被调用第"<<i<<"次"<<"\n";
x=t;
cout<<"x="<<x<<"我是B类"<<"\n";
}
virtual ~B()
{
static int j=0;
j++;
cout<<"B类的析构函数被调用第"<<j<<"次"<<"\n";
}
};
class C :public A
{
public:
void get()
{
cout<<"我是C类"<<"\n";
}
C(int t)
{
static int i=0;
i++;
cout<<"C类的构造函数被调用第"<<i<<"次"<<"\n";
x=t;
cout<<"x="<<x<<"我是C类"<<"\n";
}
virtual ~C()
{
static int j=0;
j++;
cout<<"C类的析构函数被调用第"<<j<<"次"<<"\n";
}
private:
int x;
};
int main(int argc, const char * argv[])
{
// insert code here...
A *a;
a=new B(1);
a->get();
return 0;
}

被折叠的 条评论
为什么被折叠?



