类的应用例子

在这里插入代码片
//类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;
} 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值