C++:定义一个Point类,派生出Rectangle类和Circle类,计算各派生类对象的面积Area( )。

如题所述

class Point
{
public:
virtual int GetArea(){}

public:

int x;

int y;

}
class Rectangel:public Point
{
public:

int GetArea(){return x*y;}

}
class Circle:public Point
{
public:
int GetArea(){return 3.14*x*y;}
}
直接手打的,基本是这样,你可以参考一下追问

如果你有空 ,能把代码打全不?

追答

// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include
#include
#include
#include
using namespace std;

class Point
{
public:
virtual int GetArea(){ return 0; }
void SetPos(int x, int y){ this->x = x; this->y = y; }
public:

int x;

int y;

};
class Rectangel :public Point
{
public:

int GetArea(){ return x*y; }

};
class Circle :public Point
{
public:
int GetArea(){ return 3.14*x*y; }
};

int _tmain(int argc, _TCHAR* argv[])
{
Point *rect = new Rectangel();
rect->SetPos(1, 2);

Point *circle = new Circle();
circle->SetPos(3, 3);

cout GetArea() GetArea() << endl;

system("pause");
return 0;
}
圆其实不该这么做,你可以在圆里面自己定义一个半径变量,然后用半径算
而矩形里面需要定义宽高,你自己照着我写的再加点就行了
呵呵

温馨提示:答案为网友推荐,仅供参考
相似回答