美文网首页
多继承和虚基函数的应用

多继承和虚基函数的应用

作者: 始于尘埃 | 来源:发表于2019-07-27 15:34 被阅读0次
//多继承和虚基函数的应用
/*
1.基函数的作用:减少内存空间;避免调用时产生的冲突(二义性).
2.并不建议使用多继承(不好修改,不好维修). 
*/
#include <iostream>
#include <string>
using namespace std;

class Person{
    public:
        Person(string nam,char s,int a){
            name = nam;sex = s;age = a;
        }
    protected:              //基函数设定为protect,这可以供派生对象使用 
        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;
    
    }
    private:
        float wage;
}; 
int main(){
    Graduate grad1("Rice",'f',24,"assistent",11,212);//初始化 
    grad1.show();
    return 0;
}

相关文章

  • 多继承和虚基函数的应用

  • 08. 纯虚函数、抽象类、多继承、菱形继承、虚

    一.虚函数 二.纯虚函数 三,虚析构函数 四.纯虚函数 五,多继承 六.多继承-虚函数 七.菱形继承 八. 虚继承...

  • ★01.基础概念

    抽象类:含有虚函数的类。 抽象基类:含有纯虚函数的类。 虚基类:多重继承中虚继承的基类。 类静态数据成员的定义必须...

  • C++学习三

    一、运算符重载 二、继承 1、基本 2、多继承、二义性 3、属性二义性 4、虚基类(虚继承) 三、多态(虚函数) ...

  • 构造语义学

    继承构造函数 类具有可派生性,派生类可以自动的获取基类的成员变量和接口(虚函数和纯虚函数,public派生)。不过...

  • c++虚继承

    什么时候用到虚继承 虚继承和虚函数是完全无相关的两个概念。 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继...

  • C++ 虚函数表和虚函数指针机制

    虚函数的作用是实现派生类继承基类的接口和一个默认的实现 那么是如何实现这种机制的呢?答案:通过虚函数表和虚函数指针...

  • 纯虚函数、抽象类、多继承、菱形继承、虚继承、虚基类

    纯虚函数:没有函数体且初始化为0的虚函数,用来定义接口规范 抽象类(Abstract Class)含有纯虚函数的类...

  • 虚基类

    经提取,存有公共元素的,被虚继承的祖父类,称为虚基类。虚基类,需要设计 和抽象 虚继承,是一种继承的扩展。 cla...

  • C++11——面向对象编程

    虚函数的override说明符 派生类经常(但不总是)重写它们继承的虚函数。如果派生类没有重写其基类中的虚函数,那...

网友评论

      本文标题:多继承和虚基函数的应用

      本文链接:https://www.haomeiwen.com/subject/xcjerctx.html