在这里插入代码片
//类person派生出 类person派生出派生类teacher和student,
//student派生出类graduate和undergraduate,
//用各种方式建立各个类的对象,统计各类族中各类对象的个数,并显示。
#include<iostream>
using namespace std;
#include<string.h>
class person{
private:
/*int static coutper;
/*char name[10];
char sex[2];*/
public:
person(int coutper=0/*char *name,char *sex*/){//构造函数
/* strcpy(this->name,name);
strcpy(this->sex,sex);*/
coutper++;
}
person(person &p){//拷贝函数
/* strcpy(name,p.name);
strcpy(sex,p.sex);*/
coutper++;
}
void Showperson(){//显示
//puts(name);
cout<<"建立的person有:"<<coutper<<endl;
}
};
class teacher: public person{
private:
/*static int couttea;
/*char subject[10];
char id[4];*/
public:
teacher(int couttea=0/*char *subject,char *id*/){//构造函数
/* strcpy(this->subject,subject);
strcpy(this->id,id);*/
couttea++;
}
teacher(teacher &t){//拷贝函数
couttea++;
}
void Showteacher(){
/*puts(subject);
puts(id);*/
cout<<"建立的teacher有:"<<couttea<<endl;
}
};
class student: public person{
private:
//char id[4];
public:
static int coutstu;
student(/*char *id*/){
//strcpy(this->id,id);
coutstu++;
}
student(student &s){
coutstu++;
}
void Showstudent(){
//puts(id);
cout<<"建立的student有:"<<coutstu<<endl;
}
};
class graduate: public student{
private:
public:
static int coutgra;
graduate(){
coutgra++;
}
graduate(graduate &g){
coutgra++;
}
void Showgra(){
cout<<"建立的graduate有:"<<coutgra<<endl;
}
};
class ungraduate: public student{
private:
public :
static int coutungra;
ungraduate(){
coutungra++;
}
ungraduate(ungraduate &u){
coutungra++;
}
void Showungra(){
cout<<"建立的ungradyate有:"<<coutungra<<endl;
}
};
int main(){
/* char a[3][3]={"男","女"};//相关信息的定义
char tid[3][4]={"001","002","003"};//老师ID
char sid[3][4]={"101","102","103"};//学生ID
char name[10][10]={"张三","李四","王五","老师1","老师2","学生1","学生2"};//姓名
char subject[3][10]={"chinese","English","Math"};//老师科目
*/
//person类
person p0;
person p1(p0);
person p3[10];
/*person p1(name[0],a[0]);
person p2(name[1],a[1]);*/
//teacher类
teacher t0;
teacher t1(t0);
teacher t3[3];
//teacher t1(subject[0],tid[0]);
//student类
student s0;
student s1(s0);
student s3[5];
/*student s1(sid[0]);
student s2(sid[1]);*/
//graduate类
graduate g0;
graduate g1(g0);
graduate g2[10];
//ungraduate类
ungraduate u0;
ungraduate u1(u0);
ungraduate u2[10];
//输出
p0.Showperson();
p1.Showperson();
t0.Showteacher();
return 0;
}
类的应用例子
最新推荐文章于 2024-07-20 18:10:49 发布