面向对象程序设计实验报告
{
Point *p=new Circle(2.5,1.8,4.5); delete p; return 0; }
源程序②:
#include
public:
Point(float a,float b):x(a),y(b){} ~Point() {
cout<<\ }
private: float x; float y; };
class Circle:public Point {
public:
Circle(int a,int b,int r):Point(a,b),radius(r){} ~Circle() {
cout<<\ }
private: float radius; };
int main() {
Point *p=new Circle(2.5,1.8,4.5); Circle *pt=new Circle(2.5,1.8,4.5); delete pt; return 0; }
源程序③:
#include
面向对象程序设计实验报告
public:
Point(float a,float b):x(a),y(b){} virtual ~Point() {
cout<<\ }
private: float x; float y; };
class Circle:public Point {
public:
Circle(float a,float b,float r):Point(a,b),radius(r){} virtual ~Circle() {
cout<<\ }
private: float radius; };
int main() {
Point *p=new Circle(2.5,1.8,4.5); delete p; }
7. 实验任务七
#include
virtual double area() const =0; //纯虚函数 };
//定义Circle类
class Circle:public Shape {
public:
Circle(double r):radius(r){} //结构函数
面向对象程序设计实验报告
virtual double area() const
{return 3.14159*radius*radius;}; //定义虚函数 protected:
double radius; //半径 };
//定义Rectangle类
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< int main() { Circle circle(12.6); //建立Circle类对象circle cout<<\ =\ printArea(circle); //输出circle的面积 Rectangle rectangle(4.5,8.4); //建立Rectangle类对象rectangle cout<<\ printArea(rectangle); //输出rectangle的面积 Triangle triangle(4.5,8.4); //建立Triangle类对象 cout<<\ =\ printArea(triangle); //输出triangle的面积 return 0; }