C++ 面向对象编程:点、圆和圆柱体的实现
#include
class Point { protected: double x, y; public: Point(double xx = 0, double yy = 0):x(xx), y(yy) {} virtual void set() { cout << '请输入坐标(x,y): '; cin >> x >> y; } virtual void display() { cout << '(' << x << ',' << y << ')'; } virtual ~Point() {} };
class Circle: public Point { protected: double radius; public: Circle(double r = 0):radius(r) {} void set() { Point::set(); cout << '请输入半径: '; cin >> radius; } void display() { cout << '圆心坐标为'; Point::display(); cout << ', 半径为' << radius; } virtual ~Circle() {} };
class Cylinder: public Circle { private: double height; public: Cylinder(double h = 0):height(h) {} void set() { Circle::set(); cout << '请输入高: '; cin >> height; } void display() { cout << '圆柱体底面圆心坐标为'; Point::display(); cout << ', 半径为' << radius << ', 高为' << height; } ~Cylinder() {} };
int main() { Point *p; Circle c; Cylinder cy; p = &c; p->set(); p->display(); p = &cy; p->set(); p->display(); return 0; }
原文地址: https://www.cveoy.top/t/topic/nBZn 著作权归作者所有。请勿转载和采集!