#include <iostream> using namespace std; class Point { private: int x; int y; public: Point() { x = 19; y = 210; } Point(int xValue, int yValue) { x = xValue; y = yValue; } void Show() { cout << "(" << x << "," << y << ")" << endl; } }; class Circle : public Point { private: int radius; public: Circle() : Point() { radius = 135; } Circle(int x, int y) : Point(x, y) { radius = 777; } Circle(int x, int y, int r) : Point(x, y) { radius = r; } Circle(const Point &p, int r) : Point(p) { radius = r; } Circle(const Point &p):Point(p){} Circle(int r) : Point() { radius = r; } void Show() { cout << "Radius=" << radius << ",Center="; Point::Show(); } }; int main() { #ifdef _CRT_SECURE_NO_WARNINGS freopen("./in.txt", "r", stdin); freopen("./out.txt", "w", stdout); #endif int x, y, r; cin >> x >> y >> r; Point p0; cout << "[Point #0] "; p0.Show(); Circle c0; cout << "[Circle #0]"; c0.Show(); Circle c1(x, y); cout << "[Circle #1]"; c1.Show(); Circle c2(x, y, r); cout << "[Circle #2]"; c2.Show(); Circle c3(p0, r); cout << "[Circle #3]"; c3.Show(); Circle c4(p0); cout << "[Circle #4]"; c4.Show(); Circle c5(r); cout << "[Circle #5]"; c5.Show(); return 0; },该代码当输入1 2 3时要实现输出为Function #1 is called! [Point #0] (19,210) Function #3 is called! Function #1 is called! Function #4 is called! [Circle #0]Radius=135,Center=(19,210) Function #3 is called! Function #10 is called! Function #2 is called! Function #5 is called! [Circle #1]Radius=777,Center=(1,2) Function #3 is called! Function #10 is called! Function #2 is called! Function #6 is called! [Circle #2]Radius=3,Center=(1,2) Function #3 is called! Function #10 is called! Function #0 is called! Function #7 is called! [Circle #3]Radius=3,Center=(19,210) Function #3 is called! Function #10 is called! Function #0 is called! Function #8 is called! [Circle #4]Radius=111,Center=(19,210) Function #3 is called! Function #10 is called! Function #2 is called! Function #9 is called! [Circle #5]Radius=3,Center=(5,20) Function #3 is called! Function #10 is called!,应该怎样修改
时间: 2024-02-05 17:02:24 浏览: 86
在 Circle 类中添加一个静态成员变量 count,表示 Circle 对象的数量,在构造函数中将 count 自增,并在 Show 函数中输出 count 的值,同时在 main 函数中添加输出语句输出 Function #10 is called! 和 Function #3 is called! 即可实现要求输出。
修改后的代码如下:
相关问题
#include<iostream> #include<vector> #include<cmath> using namespace std; class point { private: int x,y; public: point(int x=0,int y=0):x(x),y(y){} void coutt () { cout << "[" <<x<<","<<y<<"]"<< endl; } }; int main() { int i,n; vector<int>x(100); vector<int>y(100); vector<point>m(100); for(i=0;i<100;i++) { cin >>x[i]>>y[i]; m[i]=point(x[i],y[i]); } n=x.size()-1; for(;n>=0;n--) m[n].coutt; return 0; } 有什么错
这段代码存在以下问题:
1. 在使用 `m[n].coutt` 输出点的坐标时,应该加上小括号,即 `m[n].coutt()`。
2. 在使用 `n=x.size()-1` 计算向量 `x` 的长度时,应该使用 `n=x.size()-1;`,即在语句的结尾加上分号。
3. 在 `point` 类中,应该将 `x` 和 `y` 成员变量声明为 `public`,否则在主函数中无法直接访问。
下面是修改后的代码:
```c++
#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
class point {
public:
int x, y;
point(int x = 0, int y = 0) : x(x), y(y) {}
void coutt() {
cout << "[" << x << "," << y << "]" << endl;
}
};
int main() {
int i, n;
vector<int> x(100);
vector<int> y(100);
vector<point> m(100);
for (i = 0; i < 100; i++) {
cin >> x[i] >> y[i];
m[i] = point(x[i], y[i]);
}
n = x.size() - 1;
for (; n >= 0; n--)
m[n].coutt();
return 0;
}
```
判断两条直线是否垂直 ,部分代码提供,“***” 部分请补充完整。 #include <iostream> using namespace std ; class point //定义 点 类 { public: point() ; int get_x() ; int get_y() ; private: int x, y ; } ; point::point() { int r,c; cin >>r; cin >>c; x = r; y
好的,这是一个关于C++类和对象的问题。下面是代码示例:
```cpp
#include <iostream>
using namespace std;
class point { // 定义点类
public:
point();
int get_x();
int get_y();
private:
int x, y;
};
point::point() {
int r, c;
cin >> r;
cin >> c;
x = r;
y = c;
}
int point::get_x() {
return x;
}
int point::get_y() {
return y;
}
int main() {
point p1, p2; // 定义两个点对象
int x1 = p1.get_x();
int y1 = p1.get_y();
int x2 = p2.get_x();
int y2 = p2.get_y();
if ((x2 - x1) * (y2 - y1) == -1) { // 判断两条直线是否垂直
cout << "两条直线垂直" << endl;
} else {
cout << "两条直线不垂直" << endl;
}
return 0;
}
```
在这个程序中,首先定义了一个点类 `point`,它有两个私有成员 `x` 和 `y`,以及一个公有构造函数和两个公有成员函数 `get_x` 和 `get_y`,用于获取点的坐标。在构造函数中,通过 `cin` 输入点的坐标。
在主函数中,先定义了两个点对象 `p1` 和 `p2`,分别输入它们的坐标。然后判断两条直线是否垂直,这可以通过判断两条直线的斜率是否互为相反数来实现。如果两条直线的斜率乘积为 -1,则它们垂直;否则,它们不垂直。最后输出判断结果。
注意:这个程序只是判断两条直线是否垂直,并不是计算两条直线的斜率。如果想计算两条直线的斜率,需要在 `point` 类中增加一个成员函数,用于计算两个点之间的斜率。
阅读全文