第五章

【5.18】编写一个学生和教师数据输入和显示程序

#include<iostream>    
using namespace std;
class person {
public:
    void input()
{ cout<<" 编号:";  cin>>no;
      cout<<" 姓名: "; cin>>name;
}
    void disp()
{ cout<<" 编号:"<<no<<endl;
      cout<<" 姓名: "<<name<<endl;
}
private:
   int no;
   char name[10];
};
class student:public person{
  public:
    void input()
	{ person::input();
      cout<<" 班号:"; 
cin>>depart;
      cout<<" 成绩:"; 
cin>>degree;
}
    void disp()
    { person::disp();
      cout<<" 班号:"<<depart<<endl;
      cout<<" 成绩:"<<degree<<endl;
    }
private:
     char depart[6];
     int degree;
};
class teacher:public person{
private:
    char prof[10];
    char depart[10];
public:
    void input()
{ person::input();
cout<<" 职称:"; 
cin>>prof;
cout<<" 部门:";
cin>>depart;
}
   void disp()
{ person::disp();
cout<<" 职称:"<<prof<<endl;
cout<<" 部门:"<<depart<<endl;
}
};
int  main()
{ student student1;
teacher teacher1;
cout<<" 输入一个学生数据:\n";
student1.input();
cout<<" 输入一个教师数据:\n"; 
teacher1.input();
cout<<" 显示一个学生数据:\n"; 
student1.disp();
cout<<" 显示一个教师数据:\n"; 
teacher1.disp();
return 0;
}

【5.19】设计一个虚基类base,包括姓名和年龄私有数据成员以及相关的成员函数

#include<iostream>  
#include<string>  
using namespace std;  
class base  
{  
    string name;  
    int age;  
public:  
    base(string a,int b)  
    {  
        name=a;  
        age=b;  
    }  
    void show()  
    {  
        cout<<"name:"<<name<<endl;
		cout<<"age:"<<age<<endl;  
    }  
};  
class leader:virtual private base  
{  
    string major;  
    string department;  
public:  
    leader(string a,int b,string c,string d):base(a,b)  
    {  
        major=c;  
        department=d;  
    }  
    void show()  
    {  
        base::show();  
        cout<<" 职务:"<<major<<endl;
		cout<<"部门:"<<department<<endl;  
    }  
};  
class engieer:virtual public base  
{  
private:  
    string job;  
    string major;  
public:  
    engieer(string a,int b,string c,string d):base(a,b),job(c),major(d)  
    {}  
    void show()  
    {  
          
        cout<<"职称:"<<job<<endl;
		cout<<"专业:"<<major<<endl;  
    }  
      
};  
class chairman:private leader,private engieer  
{  
public:  
    chairman(string a,int b,string c,string d,string i,string j):base(a,b),leader(a,b,c,d),engieer(a,b,c,d)  
    {}  
    void show()  
    {  
        leader::show();  
        engieer::show ();  
    }  
};  
int main()  
{  
    leader a("lxs",18,"经理","管理");  
    a.show();  
    engieer b("ccc",18,"C++工程","管理");  
    b.base::show();   
    b.show();  
    chairman chairman1("123",18,"经理","工程","IT","管理");  
    chairman1.show();  
    return 0;  
}  


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值