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

多态与虚函数 编程题#1(Coursera 程序设计与算法 专项课程3 C++程序设计 郭炜、刘家瑛;OpenJudge)

2017-10-27 19:03 465 查看
编程题 #1

来源: POJ (http://cxsjsxmooc.openjudge.cn/test/6w4/)

注意: 总时间限制: 1000ms 内存限制: 65536kB

下面程序的输出结果是:

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐