要求:
1、設計一個圖形基類,Graph類以及派生類;
2、在Graph類中包括虛函式area和girth;
3、分別在Circle類和Rectangle類中多載這兩個函式。
uj5u.com熱心網友回復:
《c 大學教程》里 好像有這個東西的例子uj5u.com熱心網友回復:
#include <iostream>using namespace std;
class Shape
{
public:
virtual double GetArea() = 0;
virtual double GetP() = 0;
};
class Rectangle : public Shape
{
private:
double a;
double b;
public:
Rectangle(double aa, double bb) {a=aa;b=bb;cout<<"長"<<a<<"寬"<<b<<endl;}
virtual double GetArea() { return a * b; }
virtual double GetP() { return a + a + b + b; }
};
class Circle : public Shape
{
private:
double r;
public:
Circle(double rr) {r=rr;cout<<"半徑"<<r<<endl; }
virtual double GetArea() { return r * r * 3.14; }
virtual double GetP() { return 2 * r * 3.14; }
};
void main()
{
double length, width;
cout << "輸入長和寬: ";
cin >> length >> width;
Rectangle rect(length, width);
cout << "面積是:"<< rect.GetArea() << endl<<"周長是:"<<rect.GetP()<<endl;
double rr;
cout << "輸入半徑: ";
cin >> rr;
Circle cir(rr);
cout << "面積是:"<<cir.GetArea() << endl<<"周長是:"<<cir.GetP()<<endl;
}
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/133515.html
標籤:基礎類
上一篇:SECS/GEM 通信協議
