c++的虚继承

今天去面试了一家公司,真是套路深啊,套路深,原谅我是后知后觉,所以人吧总的长大,出差正常情况下都是有补贴的,为啥这部分也要算我工资一部分,名其名曰工资高,哈哈哈,自古套路方得人心

今天学习了一下c++的虚继承,嗯,主要就是避免二义性,我写这些随笔的主要原因就是督促我好好学习,今天去图书馆看见有人在学雅思,有人在学习护理,还有年纪很大的老爷爷在那看书,嗯,年级那么大都在学习,更何况我这样的年轻人呢,是吧,好好学习,

#include<stdio.h>
//#include<iostream.h>
class A
{
protected:
    int a;
public:
    A() { a = 10; }
    ~A() { printf("~A\n"); }
    void setdata(int i)
    {
        a = i;
    }
};
class B1 : virtual public A
{
public:
    B1(int k) { a = k; }
    ~B1() { printf("B\n"); }
};
class B2 : virtual public A
{
public:
    B2(int k) { a = k; }
    ~B2() { printf("~C\n"); }
};

class C : public B1, public B2
{
public:
    C(int k):B1(k-2), B2(k+2)
    { printf("a = %d", a); }
    ~C() { printf("~C\n"); }
};
int main()
{
    C obj(10);
    getchar();
    return 0;
}



猜你喜欢

转载自www.cnblogs.com/jinfangzhao/p/10614363.html
今日推荐