定义一个基类:点类,包括x坐标和y坐标,从它派生一个圆类,增加数据成员r(半径),
时间: 2023-11-22 12:02:35 浏览: 241
点类是一个基类,包括x坐标和y坐标这两个数据成员。可以通过定义构造函数和成员函数获取和修改这些数据成员的值。
圆类是从点类派生的子类,额外增加了一个数据成员r,表示圆的半径。同样也可以通过定义构造函数和成员函数获取和修改半径的值。
下面是一个简单的实例代码:
```cpp
class Point {
protected:
int x; // x坐标
int y; // y坐标
public:
Point(int x = 0, int y = 0) {
this->x = x;
this->y = y;
}
int getX() const {
return x;
}
int getY() const {
return y;
}
void setX(int x) {
this->x = x;
}
void setY(int y) {
this->y = y;
}
};
class Circle : public Point {
private:
int r; // 半径
public:
Circle(int x = 0, int y = 0, int r = 0) : Point(x, y) {
this->r = r;
}
int getR() const {
return r;
}
void setR(int r) {
this->r = r;
}
};
```
这样,我们可以通过实例化圆类的对象,并赋值x、y、r来表示一个圆的位置和半径。例如:
```cpp
int main() {
Circle c(5, 5, 10); // 实例化一个圆对象c,x=5,y=5,半径r=10
// 获取和修改坐标和半径
cout << "x坐标:" << c.getX() << endl;
cout << "y坐标:" << c.getY() << endl;
cout << "半径:" << c.getR() << endl;
c.setX(8);
cout << "修改后的x坐标:" << c.getX() << endl;
return 0;
}
```
以上输出结果为:
```
x坐标:5
y坐标:5
半径:10
修改后的x坐标:8
```
阅读全文