阅读程序,不同定义下的结果

来源:互联网 发布:sql重命名列名 编辑:程序博客网 时间:2024/06/03 21:02
#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;}#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 &r1=a;    A &r2=b;    r1.printA();    r2.printA();    return 0;}#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 *p=&a;    p->printA();    p=&b;    p->printA();    return 0;}#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;    }    int getA()    {        return a;    }};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;    }};void f(A x){    cout<<"aaaaah,my a:"<<x.getA()<<endl;}int main(){    A a(1,1);    B b(2,3,4);    f(a);    f(b);    return 0;}

0 0
原创粉丝点击