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

  • Post author:
  • Post category:其他



题目内容:

已知基类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;    
}



版权声明:本文为BBB7788原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。