十一周阅读程序5-d

来源:互联网 发布:mac怎么开启airplay 编辑:程序博客网 时间:2024/05/08 22:01
/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作    者:隋文韬 *完成日期:2016年6月9日 *版 本 号:v1.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();    //p->printB();    return 0;}//错误原因:error:'class A'has no member named 'printB',//          A类中不存printB这个成员函数,printB是B类中的成员函数。//          而B是派生类,A是基类。p是A类中的指针,它指向A类中的成员,//          而当p指向B类中的b时,并不会指向B类中的成员。//我认为的输出结果:a:1 b:1//                 a:2 b:3

0 0
原创粉丝点击