008:編程填空:還是Fun和Do

總時間限制: 

1000ms

 

內存限制: 

65536kB

// 在此處補充你的代碼

描述

填寫代碼,使輸出結果爲
A::Fun
B::Do
C::Fun
C::Do
A::Fun
B::Do

#include <iostream> 
using namespace std;

class A { 
	public: 
		virtual void Fun() { 
			cout << "A::Fun" << endl; 
		}; 
		virtual void Do() { 
			cout << "A::Do" << endl; 
		} 
};
{ 
	p.Fun(); 
	p.Do(); 
} 

void Call2(B p) {
	p.Fun();
	p.Do();
}



int main() { 
	C c;
	B b;
	Call1(b);
	Call1(c); 
	Call2(c);
	return 0;
}

輸入

輸出

A::Fun
B::Do
C::Fun
C::Do
A::Fun
B::Do

樣例輸入

None

樣例輸出

A::Fun
B::Do
C::Fun
C::Do
A::Fun
B::Do
#include <iostream> 
using namespace std;

class A { 
	public: 
		virtual 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 Fun() { 
			cout << "C::Fun" << endl; 
		}
	void Do() { 
			cout << "C::Do" << endl; 
		} 
};

void Call1(A &p)
//
{ 
	p.Fun(); 
	p.Do(); 
} 

void Call2(B p) {
	p.Fun();
	p.Do();
}



int main() { 
	C c;
	B b;
	Call1(b);
	Call1(c); 
	Call2(c);
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章