您的位置:首页 > 编程语言 > C语言/C++

多态与虚函数编程题 #1(C++程序设计第6周)

2015-12-22 23:17 459 查看
问题描述

下面程序的输出结果是:

A::Fun

C::Do

请填空:

#include <iostream>
using namespace std;
class A {
private:
int nVal;
public:
void Fun()
{ cout << "A::Fun" << endl; }
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() {
C c; Call(c);
return 0;
}


输入



输出

A::Fun

C::Do

样例输入



样例输出

A::Fun
C::Do


提示

提交作业时只提交补充的代码

源码

#include <iostream>
using namespace std;

class A
{
private:
int nVal;
public:
void Fun()
{ cout << "A::Fun" << endl; }
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(
B& p// 在此处补充你的代码
)
{
p.Fun();  p.Do();
}
int main()
{
C c;
Call(c);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: