虚拟基的简单应用

    xiaoxiao2021-03-25  139

    **#include <iostream> #include <strings.h> #include <cstring> using namespace std; class Person { public: Person(string nam,char s,int a) { name=nam; sex=s; age=a; } protected: string name; char sex; int age; }; class Teacher:virtual public Person { public: Teacher(string nam,char s,int a,string t):Person(nam,s,a) //基类的构造函数的初始化 { title=t; } protected: string title; }; 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:public Teacher,public Student { public: Graduate(string nam,char s,int a,string t,float sco,float w): Person(nam,s,a),Teacher(nam,s,a,t),Student(nam,s,a,sco),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; } private: float wage; }; int main() { Graduate grad1("Wang-Li",'f',24,"assistant",89.5,1234.5); //参数位置放置错误可能会出现计算出错 grad1.show(); return 0; } ** **/home/andrew/文档/Clion/untitled5/cmake-build-debug/untitled5 name:Wang-Li age:24 sex:f score:89.5 title:assistant wages:1234.5 Process finished with exit code 0 **
    转载请注明原文地址: https://ju.6miu.com/read-2961.html

    最新回复(0)