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

来源:互联网 发布:放空自己知乎 编辑:程序博客网 时间:2024/05/22 20:51


 

#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);    a=b;    a.printA();    b.printA();    b.printB();    return 0;}


运行结果:


过程分析:
B类是A类的派生类
用B类的b对A 类的a进行初始化
所以a.printA和b.print A都输出相同的结果 2 3
最后执行B 类的print函数 输出2 3 4
 
 
0 0