6-52.虚基类的应用-人与教师学生

派生类定义:根据所给的基类,完成多重继承下的派生类定义

输出样例:

在这里给出相应的输出。例如:

name:Wang-li

age:24

sex:f

score:89.5

title:assistant

wages:1234.5

代码实现:

#include  <iostream>
#include  <string>
using  namespace  std;
//定义公共基类Person
class  Person                                                            
{public:
    Person(string  nam,char  s,int  a)                            
      {name=nam;sex=s;age=a;}
  protected:                                                            
      string  name;
      char  sex;
      int  age;
};
//定义类Teacher
class  Teacher:virtual  public  Person                            
  {public:                                                                  
      Teacher(string  nam,char  s,int  a,string  t):Person(nam,s,a)              
        {title=t;  
        }
    protected:                                                                      
        string  title;                                                                
};
//定义类Student
class  Student:virtual  public  Person                              
  {public:
      Student(string  nam,char  s,int  a,float  sco):      
            Person(nam,s,a),score(sco){}                            
    protected:                                                                          
        float  score;                                                              
  };
  
/*这里添加派生类的定义*/
class Graduate:Teacher,Student{
	private:
		float wage;
	public:
		Graduate(string nam,char s,int a,string t,float sc,float w):Teacher(nam,s,a,t),Student(nam,s,a,sc),Person(nam,s,a){
			wage = w;
		}
		void show(){
			cout<<"name:"<<name<<endl;
			cout<<"age:"<<age<<endl;
			cout<<"sex:"<<sex<<endl;
			cout<<"score:"<<score<<endl;
			cout<<"title:"<<title<<endl;
			cout<<"wages:"<<wage<<endl;
		}
};

int  main(){
	Graduate  grad1("Wang-li",'f',24,"assistant",89.5,1234.5);
    grad1.show(  );
    return  0;
}

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值