第十一周项目—阅读程序,说出在测试函数中不同情况的调用产生的结果(5 d)
2016-05-10 20:09
423 查看
/* *Copyright(c) 2016.烟台大学计算机与控制工程学院 *ALL rights reserved. *文件名称:test.cpp *作者:杨驰 *完成日期:2016年5月10日 *问题描述:阅读程序,说出在测试函数中不同情况的调用产生的结果 */ #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(); 有错误,A类中没有这个成员函数 return 0; }
错误 :error: 'class A' has no member named 'printB'
类A中没有 printB
错误的原因:p首先被声明为类A的指针,故p指针包含类A的成员,而在”p=&b;“中将其赋值为类B的对象,
但是它不会自动添加成员,所以缺失printB成员函数。
删除后的结果:a:1 b:1
a:2 b:3
相关文章推荐
- java.lang.RuntimeException: Hive metastore database is not initialized.Please use schematool
- POJ 2255 Tree Recovery
- Node.js的安装
- 今天使用babel遇到的一个错误
- word修改注音格式大小颜色(下)
- untiy 3d ShaderLab_第8章_ 基于光照贴图的烘焙照明
- Realm-json遇到的问题
- 自制简单实用IoC
- java 线程小程序--按时间给数组赋值
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现
- HTML5 存储的实现