6w4:第六周程序填空题1
-
总时间限制:
- 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() //A 类中并没定义虚函数
{
cout << "A::Do" << endl;
}
};
class B :public A {
public:
virtual void Do() //在B类中才定义的虚函数
{
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) { //如果为A的引用,那么调用的两个都A的成员函数,B类中没Fun函数,所以会输出A的
p.Fun(); p.Do();
}
int main() {
C c; Call(c);
return 0;
}
using namespace std;
class A {
private:
int nVal;
public:
void Fun()
{
cout << "A::Fun" << endl;
}
void Do() //A 类中并没定义虚函数
{
cout << "A::Do" << endl;
}
};
class B :public A {
public:
virtual void Do() //在B类中才定义的虚函数
{
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) { //如果为A的引用,那么调用的两个都A的成员函数,B类中没Fun函数,所以会输出A的
p.Fun(); p.Do();
}
int main() {
C c; Call(c);
return 0;
}