第十周第十一周阅读程序-5-d
2016-05-07 14:11
218 查看
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:刘涛 * 完成日期:2016年5月7日 * 版本号:vc++6.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; } 错误原因:A类中不存printB这个成员函数,printB是B类中的成员函数。而B是派生类,A是基类。
p是A类中的指针,它指向A类中的成员,而p后来又指向B类中的b时,并不会指向B类中的成员。
正确答案:a:1 b:1 a:2 b:3
相关文章推荐
- css的继承性
- HDU 2043 密码(判断字符串存在性)
- 冒泡排序
- uvalive4614 (这题不懂)
- 十个程序员必备的网站推荐
- Codeforces Round #350 (Div. 2) A B C D E STL (list map stack)
- Clone Graph
- xshow-1. 项目简介
- ACM刷题之HDU————献给杭电五十周年校庆的礼物
- 可重入函数与线程安全问题
- 第2课:通过案例对SparkStreaming透彻理解三板斧之二:解密SparkStreaming运行机制和架构
- SpringMVC 基础实战实例教程
- jQuerymobile 的页面跳转 原理
- VNC多用户登陆
- Win8.1系统如何全部显示隐藏的托盘图标?
- IT十八掌掌第二天课程总结
- Poj1503(高精度加法)
- [Other]1/0.0f Error?
- kickstart无人值守,PXE+TFTP+FTP+DHCP
- POJ 1987 Distance Statistics