孙鑫教程第三章小测试程序

#include <IOSTREAM.H>
//定义一个基类,模拟CWinApp
class Base
{
public:
	Base();
//	virtual void fn();/*测试虚函数结果:call the Derived's fn*/
	void fn();/*测试非虚函数结果:call the Base's fn*/
	Base *p;
};
Base::Base()
{
	p = this;//this指针指向哪一个对象?答:指向派生类对象dd
}

void Base::fn()
{
	cout << "call the Base's fn" << endl;
}

//定义一个派生类,模拟CTestApp
class Derived:public Base
{
public:
	void fn();
};
void Derived::fn()
{
	cout << "call the Derived's fn" << endl;
}
	
//定义一个派生类的全局对象,模拟theApp
Derived dd;

int main()
{
	(dd.p)->fn();
	return 0;
}

posted @ 2012-04-15 17:05  javaadu  阅读(91)  评论(0编辑  收藏  举报