07.cpp

来自「一、教学目的: 能理解C++中运算符重载的需要性」· C++ 代码 · 共 42 行

CPP
42
字号
#include<iostream.h>          
#include<math.h>

class Shape
{
public:
	Shape(double x,double y):xCoord(x),yCoord(y){}
	virtual double Area() {return 0.0;}
protected:
	double xCoord,yCoord;
};
class Circle:public Shape
{
public:
	Circle(double x,double y,double r):Shape(x,y),radius(r){}
	double Area() {return 3.14*radius*radius;}
protected:
	double radius;
};
class Rectangle:public Shape
{
public:
	Rectangle(double x1,double y1,double x2,double y2):Shape(x1,y1),x2Coord(x2),y2Coord(y2){}
	double Area() ;
protected:
	double x2Coord,y2Coord;
};
double Rectangle::Area() 
{
	return fabs((xCoord-x2Coord)*(yCoord-y2Coord));
}
void fun(Shape& sp)
{
	cout<<sp.Area()<<endl;
}
void main()
{
	Circle c(2.0,5.0,4.0);
	fun(c);
	Rectangle t(2.0,4.0,1.0,2.0);
	fun(t);
}

⌨️ 快捷键说明

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