随记,虚函数与引用

#include <QCoreApplication>
#include<stdio.h>
class A
{protected:
    int x;
public:
    A(int xx):x(xx) {}
    virtual void say(){printf("a say %d\n",x);}
};
class B:public A
{protected:
    int y;
public:
    B(int xx,int yy):y(yy),A(xx) {}
    void say(){printf("b say %d %d\n",x,y);}
    void haha(){printf("b hahahaah\n");}
};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    A aa(8);
    aa.say();
    B b(1,2);
    b.say();
    A &aaa=b;//把b代表的空间取小名aaa,并当做A类型对象来看,
    aaa.say();
    b.haha();
    A zda=b;//
    zda.say();
    return a.exec();
}

上面A zda=b调用复制构造函数

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_26046771/article/details/72721864
今日推荐