您的位置:首页 > 其它

关于虚函数一个很好的例子

2010-11-01 22:49 423 查看
#include<iostream> 
using namespace std;
class Cshape
{
public:
	void SetColor(int color)
	{
		m_nColor=color;
	}
	void virtual Display(void)
	{
		cout<<"Cshape"<<endl;
	}
private:
	int m_nColor;
};
class Crectangle: public Cshape
{
public:
	void Display( void)
	{
		cout<<"Crectangle"<<endl;
	}
};
class Ctriangle:public Cshape
{
	void Display( void) 
	{
		cout<<"Ctriangle"<<endl;
	}
};
class Cellipse :public Cshape
{
public:
	void Display(void)
	{
		cout<<"Cellipse"<<endl;
	}
};
void main()
{
	Cshape obShape;
	Cellipse obEllipse;
	Ctriangle obTriangle;
	Crectangle obRectangle;
	Cshape *pShape[4]= {&obShape,&obEllipse,&obTriangle,&obRectangle};
	/*在基类指针或引用请求使用虚函数时,c++会在 对象关联的派生类中正确地选择重定义的函数*/
	for( int I= 0; I< 4; I++)
		pShape[I]->Display();
	obEllipse.Display();
	return;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: