C++ Object-Oriented Programming 025: Why are Fun and Do again ---- (Peking University Mooc)

Article Directory


Original title

Insert picture description here

#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;
}

Code

class A* p

Guess you like

Origin blog.csdn.net/qq_37500516/article/details/114950843