编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求设计一个Person类,包含编号、姓名数据成员及构造和显示成员函数,该类作为学生类和教师类的基类。
Input
输入包括两行,第一行是学生的相关信息,第二行是教师的相关信息
Output
输出包括两行,第一行是学生的相关信息,第二行是教师的相关信息
Sample Input
2009050102 Marry Computer(1) 89 02017 Tomy Lecturer Computer
Sample Output
Num:2009050102 Name:Marry Class:Computer(1) Score:89 Num:02017 Name:Tomy profession:Lecturer Department:Computer
Author
Source
2014 1 2 练习(X)
Recommend
zh
就是一题给分题目
#include<iostream>
using namespace std;
class Person{
private:
char *number;
char*pname;
public:
Person(char*n,char*name)
{
number=new char[strlen(n)+1];
strcpy(number ,n);
pname=new char[strlen(name)+1];
strcpy(pname ,name);
}
void show()
{
cout<<"Num:"<<number<<" "<<"Name:"<<pname<<" ";
}
~Person()
{
}
};
class Stu:public Person{
private:
char *class1;
double score;
public:
Stu(char*n,char*name,char *class2,double score):Person(n,name)
{
class1=new char[strlen(class2)+1];
strcpy(class1 ,class2);
this->score=score;
}
void show()
{
Person::show();
cout<<"Class:"<<class1<<" "<<"Score:"<<score<<endl;
}
~Stu()
{
}
};
class Tea:public Person{
private:
char*a;
char*b;
public:
Tea(char*n,char*name,char*a1,char*b1):Person(n,name)
{
a=new char[strlen(a1)+1];
strcpy(a,a1);
b=new char[strlen(b1)+1];
strcpy(b,b1);
}
void show()
{
Person::show();
cout<<"profession:"<<a<<" "<<"Department:"<<b<<endl;
}
};
int main()
{
char a[100];
char b[100];
char c[100];
char d[100];
char e[100];
char f[100];
char g[100];
double h;
cin>>a>>b>>c>>h;
cin>>d>>e>>f>>g;
Stu fqu(a,b,c,h);
fqu.show();
Tea cao(d,e,f,g);
cao.show();
return 0;
}
这题还好,,继承使用,注意继承的虚基类不能析构,,
using namespace std;
class Person{
private:
char *number;
char*pname;
public:
Person(char*n,char*name)
{
number=new char[strlen(n)+1];
strcpy(number ,n);
pname=new char[strlen(name)+1];
strcpy(pname ,name);
}
void show()
{
cout<<"Num:"<<number<<" "<<"Name:"<<pname<<" ";
}
~Person()
{
}
};
class Stu:public Person{
private:
char *class1;
double score;
public:
Stu(char*n,char*name,char *class2,double score):Person(n,name)
{
class1=new char[strlen(class2)+1];
strcpy(class1 ,class2);
this->score=score;
}
void show()
{
Person::show();
cout<<"Class:"<<class1<<" "<<"Score:"<<score<<endl;
}
~Stu()
{
}
};
class Tea:public Person{
private:
char*a;
char*b;
public:
Tea(char*n,char*name,char*a1,char*b1):Person(n,name)
{
a=new char[strlen(a1)+1];
strcpy(a,a1);
b=new char[strlen(b1)+1];
strcpy(b,b1);
}
void show()
{
Person::show();
cout<<"profession:"<<a<<" "<<"Department:"<<b<<endl;
}
};
int main()
{
char a[100];
char b[100];
char c[100];
char d[100];
char e[100];
char f[100];
char g[100];
double h;
cin>>a>>b>>c>>h;
cin>>d>>e>>f>>g;
Stu fqu(a,b,c,h);
fqu.show();
Tea cao(d,e,f,g);
cao.show();
return 0;
}
这题还好,,继承使用,注意继承的虚基类不能析构,,
出问题哦