多态与虚函数编程题 #3(C++程序设计第6周)
2015-12-22 23:30
357 查看
问题描述
下面的程序输出结果是:
A::Fun
A::Do
A::Fun
C::Do
请填空:
输入
无
输出
A::Fun
A::Do
A::Fun
C::Do
样例输入
无
样例输出
A::Fun
A::Do
A::Fun
C::Do
提示
提交作业时只提交补充的代码
源码
下面的程序输出结果是:
A::Fun
A::Do
A::Fun
C::Do
请填空:
#include <iostream> using namespace std; class A { private: int nVal; public: void Fun() { cout << "A::Fun" << endl; } virtual void Do() { cout << "A::Do" << endl; } }; class B:public A { public: virtual void Do() { cout << "B::Do" << endl; } }; class C:public B { public: void Do( ) { cout << "C::Do" << endl; } void Fun() { cout << "C::Fun" << endl; } }; void Call( // 在此处补充你的代码 ) { p->Fun(); p->Do(); } int main() { Call( new A() ); Call( new C() ); return 0; }
输入
无
输出
A::Fun
A::Do
A::Fun
C::Do
样例输入
无
样例输出
A::Fun
A::Do
A::Fun
C::Do
提示
提交作业时只提交补充的代码
源码
#include <iostream> using namespace std; class A { private: int nVal; public: void Fun() { cout << "A::Fun" << endl; } virtual void Do() { cout << "A::Do" << endl; } }; class B:public A { public: virtual void Do() { cout << "B::Do" << endl; } }; class C:public B { public: void Do( ) { cout << "C::Do" << endl; } void Fun() { cout << "C::Fun" << endl; } }; void Call( // 在此处补充你的代码 A* p ) { p->Fun(); p->Do(); } int main() { Call( new A() ); Call( new C() ); return 0; }
相关文章推荐
- 多态与虚函数编程题 #2(C++程序设计第6周)
- 多态与虚函数编程题 #1(C++程序设计第6周)
- ccf试题201312-2——ISBN号码
- 《C语言及程序设计初步》第十四讲实践项目
- IO
- CC学习C语言 小结No.1
- 一起talk C栗子吧(第八十回:C语言实例--进程互斥)
- C语言:选择排序
- C++基础篇
- C/C++ 语言中.h文件和.c文件详细解析 引用 .c和.h文件的区别
- VC++上位机编程学习总结1-逃跑按钮程序
- C++11多线程(二):std:thread
- 黑马程序员--C语言自学笔记---12fgets、fputs、const、结构体
- C++二叉树的构建及求深度,叶子数量,层次遍历
- C++ vector容器的4种遍历方式
- 森浦资讯(C++ 面试两道程序题)
- 【c/c++】指针函数和函数指针
- C语言各种数据类型取值范围
- C语言 第一章
- 实战c++中的vector系列--使用sort算法对vector进行排序(对vector<string>排序、使用稳定的排序std::stable_sort())