/*
*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
十一周阅读程序5-d
最新推荐文章于 2022-11-28 23:20:04 发布
1万+

被折叠的 条评论
为什么被折叠?



