派生类Student的构造函数和析构函数

题目内容:

已知基类Person的定义如下:
class Person
{ char Name[10]; //姓名
int Age; //年龄
public:
Person(char* name,int age)
{ strcpy(Name, name);
Age = age;
cout<<"constructor of person "<<Name<<endl; }
~Person()
{ cout<<"deconstructor of person "<<Name<<endl; };
请通过继承的方法建立一个派生类Student,其中
1.新增的数据成员有:
char ClassName[10]; //班级
Person Monitor; //班长
2.新增的成员函数有:
Student(char *name, int age, char *classname, char *name1, int age1) //name1和age1是班长的信息
~Student()
在主程序中建立一个派生类对象。


输入格式:

Student类的初始化信息


输出格式:

派生类和基类构造函数和析构函数输出的信息,请参考输出样例的格式。


输入样例:

张弓长 18 计算机51 李木子 20


输出样例:

constructor of person 张弓长

constructor of person 李木子

constructor of Student

deconstructor of Student

deconstructor of person 李木子

deconstructor of person 张弓长

注意:person为小写,单词间有一个空格。

时间限制:500ms内存限制:32000kb
#include<iostream>
#include<string.h>
using namespace std;
class Person
{ 
	char Name[10]; //姓名
	int Age; //年龄
public:
	Person(char* name,int age)
	{ 
		strcpy(Name, name);
		Age = age;
		cout<<"constructor of person "<<Name<<endl;
    }
	~Person()
	{ 
	cout<<"deconstructor of person "<<Name<<endl; 
	}
};
class Student:public Person
{
	char ClassName[10];
	Person Monitor;
public:
	Student(char *name,int age,char *classname,char *name1,int age1)  //name1和age1是班长信息
		:Person(name,age),Monitor(name1,age1)
	{
		strcpy(ClassName,classname);
		cout<<"constructor of Student"<<endl;
	}
	~Student() 
	{
		cout<<"deconstructor of Student"<<endl;
	}
};
int main()
{
	char name[10];  
    int age;  
    char classname[10];  
    char name1[10];  
    int age1;  
    cin>>name>>age>>classname>>name1>>age1;  
    Student stu1(name,age,classname,name1,age1);    
    return 0;    
}

阅读更多
换一批

没有更多推荐了,返回首页