ex_virtualfunc.cpp

来自「Visual C++应用教程-源代码 本书在复习C++基础知识后」· C++ 代码 · 共 46 行

CPP
46
字号
// [例Ex_VirtualFunc] 虚函数的动态联编
#include <iostream.h>


class CShape{
public:
	virtual float area()	
	{ 	return 0.0;	}							
};
class CTriangle:public CShape
{
public:
	CTriangle(float h = 0, float w = 0)	
	{ 	H = h;	 W = w;	}
	float area()
	{	return (float)(H * W * 0.5); }	
private:
	float H, W;
};
class CCircle:public CShape
{
public:
	CCircle(float r = 0)	
	{	R = r;	}
	virtual float area( )
	{	return (float)(3.14159265 * R * R);	}
private:
	float R;
};

int main()
{
	CTriangle tri( 3, 4 );
	cout<<"tri.area() = "<<tri.area()<<endl;
	CCircle cir(5);
	cout<<"cir.area() = "<<cir.area()<<endl;

	CShape *s1 = &tri;
	cout<<"s1->area() = "<<s1->area()<<endl;
	CShape &s2 = cir;
	cout<<"s2.area() = "<<s2.area()<<endl;	

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?