C++ Shape 类:计算球体和正方体的表面积和体积
#include <iostream>
using namespace std;
class Shape {
public:
virtual double GetSurface() = 0; // 纯虚函数
virtual double GetVolume() = 0; // 纯虚函数
};
class Sphere : public Shape {
private:
double radius;
public:
Sphere(double r) {
radius = r;
}
double GetSurface() {
return 4 * 3.14 * radius * radius;
}
double GetVolume() {
return 4.0 / 3.0 * 3.14 * radius * radius * radius;
}
};
class Cube : public Shape {
private:
double length;
public:
Cube(double l) {
length = l;
}
double GetSurface() {
return 6 * length * length;
}
double GetVolume() {
return length * length * length;
}
};
int main() {
Shape* s1 = new Sphere(2.0);
Shape* s2 = new Cube(3.0);
cout << "Sphere surface area: " << s1->GetSurface() << endl;
cout << "Sphere volume: " << s1->GetVolume() << endl;
cout << "Cube surface area: " << s2->GetSurface() << endl;
cout << "Cube volume: " << s2->GetVolume() << endl;
delete s1;
delete s2;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/ovqv 著作权归作者所有。请勿转载和采集!