快考试了,一道C++的题,跪求高手!4:30就考试了,急啊!

来源:百度知道 编辑:UC知道 时间:2024/06/17 06:18:38
定义并实现一个抽象基类CPerson(人类),在此基础上,定义一级派生类,CStudent(学生类)和CTeacher(教师类),然后定义二级派生类CStudentTeacher(学生教师类),要求二级派生是一个多继承类,在类CPerson中增加静态累加器m_sCount,在类CPerson的构造函数中对m_sCount进行累加,在类CPerson中增加静态成员函数ShowNum()用于显示总人数(也就是对象个数),在派生类中增加拷贝构造函数和重载赋值运算符,并注意动态内存的管理问题,编写测试程序进行测试。
190491713 我一脚踹死你!

#include<iostream.h>

class CPerson
{
public:
CPerson(int k)
{
m_sCount++;
cout<<"CPernson"<<k<<endl;
}
static int m_sCount;
static void ShowNum()
{
cout<<"当前对象个数:"<<m_sCount<<endl;
}
};
int CPerson::m_sCount=0;

class CStudent: public CPerson
{
public:
CStudent():CPerson(0)
{a = 0;}
CStudent(int k):CPerson(k)
{
a= k;
cout<<"CStudent"<<k<<endl;
}
CStudent(CStudent &stu):CPerson(stu.a)
{
a = stu.a;
cout<<"CStudent拷贝构造函数:"<<a<<endl;
}

private:
int a;
};
class CTeacher:public CPerson
{
public:
CTeacher():CPerson(0)
{b = 0;}
CTeacher(int k):CPerson(k)
{
b=k;
cout<<"CTeacher"<<k<<end