• 不同人的信息,虚函数


    #include<iostream.h>
    #include<string.h>
    class cpeople
    {
    protected:
    	char name[10];
    	char sex[4];
    	int age;
    public:	
    	    char getsex[4];
    		char getname[10];
    	cpeople(char n[10],char s[4],int ag)
    	{
    		strcpy(name,n);
    		strcpy(sex,s);
    		age=ag;
    		strcpy(getname,n);
    		strcpy(getsex,s);
    	}	
    	int getage()
    	{
    		return age;
    	}
    
    
    };
    class cstudent:virtual public cpeople
    {
    	char id[20];
    	char date[20];
    	float grade;
    public:
    	char getdate[20];
    	char getid[20];
    	cstudent(char n[10],char s[4],int ag,char id2[20],char da[20],float gr):cpeople(n,s,ag)
    	{
    		strcpy(id,id2);
    		strcpy(date,da);
    		grade=gr;		
    		strcpy(getid,id2);
    		strcpy(getdate,da);
    	}
    	float getgrade()
    	{
    		return grade;
    	}
    };
    class cteacher:virtual public cpeople
    {
    	char job[20];
    	char depart[20];
    	char worktime[20];
    public:
    	char getjob[20];	
    	char getdepart[20];
    	char getworktime[20];
    	cteacher(char n[10],char s[4],int ag,char jo[20],char dep[20],char wo[20]):cpeople(n,s,ag)
    	{
            strcpy(job,jo);
    		strcpy(depart,dep);
    		strcpy(worktime,wo);
    		strcpy(getjob,jo);
    		strcpy(getdepart,dep);	
    		strcpy(getworktime,wo);
    	}
    
    };
    class cgraduate:public cstudent
    {
    	char search[20];
    	char teachername[10];
    public:
    		char getsearch[20];	
    		char getteachername[10];
    		cgraduate(char n[10],char s[4],int ag,char id2[20],char dat[20],float gr,char sea[20],char tea[10]):cstudent(n,s,ag,id2,dat,gr),cpeople(n,s,ag)
    		{
    		strcpy(search,sea);
    		strcpy(teachername,tea);
    		strcpy(getsearch,sea);
    		strcpy(getteachername,tea);
    		}
    };
    class cgradonwork:public cgraduate,public cteacher
    {
    public:
    	cgradonwork(char n[10],char s[4],int ag,char jo[20],char dep[20],char wo[20],char id2[20],char dat[20],float gr,char sea[20],char tea[10]):cgraduate( n,s,ag,id2,dat,gr,sea,tea),cteacher(n,s,ag,jo,dep,wo),cpeople(n,s,ag)
    	{
    		cout<<"调用构造函数cgradonwork()"<<endl;
    	}
    
    };
    void main()
    {
    	char name1[10],sex1[4],id11[20],date11[20],jo[20],dep[20],wo[20],sea[20],tea[10];
    	int age1;
    	float grade11;
       	cout<<"***************(1)普通人****************"<<endl;
    	cout<<"***************(2)学生***************"<<endl;
    	cout<<"***************(3)老师***************"<<endl;
    	cout<<"***************(4)研究生**************"<<endl;
    	cout<<"***************(5)在职研究生************"<<endl;
    	int num;                                                                                                             
    	cout<<"请输入你所在职位的序号"<<endl;
    	cin>>num;
       if(num==1)
    	{
    		cout<<"请输入您的姓名,性别,年龄"<<endl;
    	         cin>>name1>>sex1>>age1;
            cpeople pe(name1,sex1,age1);
    		    cout<<"此人的信息为"<<pe.getname<<'	'<<pe.getsex<<'	'<<pe.getage();
    	}
    	else if(num==2)
    	{
    		cout<<"请输入您的姓名,性别,年龄,学号,入学时间,入学成绩"<<endl;
    	         cin>>name1>>sex1>>age1>>id11>>date11>>grade11;
    		cstudent st(name1,sex1,age1,id11,date11,grade11);
    		cout<<"此人的信息为"<<st.getname<<'	'<<st.getsex<<'	'<<st.getage()<<'	'<<st.getid<<'	'<<st.getdate<<'	'<<st.getgrade()<<endl;
    	}
        	else if(num==3)
    		{
    			cout<<"请输入您的姓名,性别,年龄,职务,部门,工作时间"<<endl;
    	         cin>>name1>>sex1>>age1>>jo>>dep>>wo;
                cteacher te(name1,sex1,age1,jo,dep,wo);
    			cout<<"此人的信息为"<<te.getname<<'	'<<te.getsex<<'	'<<te.getage()<<'	'<<te.getjob<<'	'<<te.getdepart<<'	'<<te.getworktime<<endl;
    		}
    		     else if(num==4)
    			 {
    				 cout<<"请输入您的姓名,性别,年龄,学号,入学时间,入学成绩,研究方向,导师"<<endl;
    	             cin>>name1>>sex1>>age1>>id11>>date11>>grade11>>sea>>tea;
                     cgraduate gr(name1,sex1,age1,id11,date11,grade11,sea,tea);
    			     cout<<"此人的信息为"<<gr.getname<<'	'<<gr.getsex<<'	'<<gr.getage()<<'	'<<gr.getid<<'	'<<gr.getdate<<'	'<<gr.getgrade()<<'	'<<gr.getsearch<<'	'<<gr.getteachername<<endl;
    			 }
    			     else
    				 {
    					 cout<<"请输入您的姓名,性别,年龄,职务,部门,工作时间,学号,入学时间,入学成绩,研究方向,导师"<<endl;
    	                 cin>>name1>>sex1>>age1>>jo>>dep>>wo>>id11>>date11>>grade11>>sea>>tea;
                         cgradonwork gradon(name1,sex1,age1,jo,dep,wo,id11,date11,grade11,sea,tea);
    					 cout<<"此人的信息为"<<gradon.getname<<'	'<<gradon.getsex<<'	'<<gradon.getage()<<'	'<<gradon.getjob<<'	'<<gradon.getdepart<<'	'<<gradon.getworktime<<endl;
    			         cout<<gradon.getid<<'	'<<gradon.getdate<<'	'<<gradon.getgrade()<<'	'<<gradon.getsearch<<'	'<<gradon.getteachername<<endl;
    			         
    				 }
    
    	
    
    }
    

  • 相关阅读:
    Url中文传值乱码、编码转码问题总结
    简单介绍下我使用了一年多还不知道的Sql server 2005 组件知识
    一次管理项目小组网络的经历(使用RouterOS与Wireshark破解adsl上网密码,使用isa与Bandwidth Splitter来协调带宽)
    asp.net异步处理机制研究
    注释的力量
    AutoMapper简明教程(学习笔记)
    seajs学习笔记
    Hifi入门
    fxcop使用DataFlowRules规则集
    Visual Studio编译选项简介
  • 原文地址:https://www.cnblogs.com/zztong/p/6695326.html
Copyright © 2020-2023  润新知