⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_5_pure_virtual_function_abstract_class_3_a.cpp

📁 对于一个初涉VC++的人来书
💻 CPP
字号:

//**********************************************************
// 纯虚函数和抽象类 pure virtual function & abstract class
//**********************************************************

# include <iostream.h>

class Shape //定义抽象基类
{
public:
	virtual double area() const = 0;  //纯虚函数
};

class Circle:public Shape
{
public:
	Circle(double r):radius(r){} 
	virtual double area() const {return 3.14159*radius*radius;}; //定义虚函数
protected:
	double radius; 
};

class Rectangle:public Shape
{
public:
	Rectangle(double w,double h):width(w),height(h){}
	virtual double area() const {return width*height;} //定义虚函数
protected:
	double width,height;
};

class Triangle:public Shape
{
public:
	Triangle(double w,double h):width(w),height(h){} 
	virtual double area() const {return 0.5*width*height;} //定义虚函数
protected:
	double width,height; 
};

void printArea(const Shape &s) 
{ 
	cout<<s.area()<<endl; 
	return;
}  

int main()
{
	Circle circle(10.0); 

	cout<<"area of circle ="; 
	printArea(circle);

	Rectangle rectangle(10.0,10.0);

	cout<<"area of rectangle =";
	printArea(rectangle);

	Triangle triangle(10.0,10.0);

	cout<<"area of triangle  =";
	printArea(triangle);
	
	return 0;
}

⌨️ 快捷键说明

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