#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); for(i=0;i<100;i++) { cin >>x[i]>>y[i]; } n=x.size()-1; point m[n+1]; for(;n>=0;n--) m[n](x[n],y[n]).coutt; return 0; }有什么错
时间: 2024-01-14 11:02:38 浏览: 89
使用include <iostream>时一定要加using namespace std
这段代码存在一些错误:
1. 在使用 vector 时,应该在开头添加 `#include<vector>` 头文件。
2. 在 point 类的构造函数中,应该使用成员初始化列表来初始化 x 和 y,而不是在函数体中进行赋值操作。
3. 在 point 类的 coutt() 函数中,应该使用 `endl` 而不是 `\n`。
4. 在 main() 函数中,应该使用 `vector<point> m(100);` 来定义 point 类型的 vector,而不是使用 point 数组。
下面是修改后的代码:
```cpp
#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);
for (i = 0; i < 100; i++) {
cin >> x[i] >> y[i];
}
n = x.size() - 1;
vector<point> m(100);
for (; n >= 0; n--) {
m[n] = point(x[n], y[n]);
m[n].coutt();
}
return 0;
}
```
阅读全文