阅读下面类的定义,请说出在测试函数中的不同情况的调用产生的结果1

来源:互联网 发布:windows7旗舰版优化 编辑:程序博客网 时间:2024/05/01 18:23
#include <iostream>using namespace std;class A{protected:    int a,b;public:    A(int aa, int bb):a(aa), b(bb) {}    void printA(){        cout<<"a: "<<a<<"\tb: "<<b<<endl;    }};class B: public A{    int c;public:    B(int aa, int bb, int cc):A(aa,bb),c(cc) {}    void printB()    {       cout<<"a: "<<a<<"\tb: "<<b<<"\tc: "<<c<<endl;    }};int main(){    A a(1,1);    B b(2,3,4);    b=a;    a.printA();    b.printA();    b.printB();    return 0;}


运行结果:

 

过程分析:

 error  运算符两边不匹配

原因:

基类对象不能给派生类的对象赋值

相反,派生类对象可以给基类的对象赋值

0 0
原创粉丝点击