【发布时间】:2019-11-26 04:49:21
【问题描述】:
我正在尝试找到一种方法来在类中定义一个未知大小的数组并使用构造函数“填充”它。这是一个简单的示例,可以让您大致了解我要做什么:
#include <iostream>
#include <vector>
using namespace std;
class MyClass{
public:
string Name;
double x[];
double y[];
MyClass(string aName, double aX, double aY){
Name=aName;
x[]=aX;
y[]=aY;
}
};
int main() {
MyClass object1("Object1",{1.0,2.0,3.0},{4.0,5.0,6.0});
}
显然,有很多错误,所以我不知道从哪里开始以及如何实现我的目标!
感谢任何指导。
编辑
这是基于此问题的答案的有效解决方案。谢谢大家!
#include <iostream>
#include <vector>
using namespace std;
class MyClass{
public:
string Name;
vector<double> x;
vector<double> y;
MyClass(string aName, vector<double> aX, vector<double> aY){
Name=aName;
x=aX;
y=aY;
}
};
int main() {
MyClass object1("Object1",{1.0,2.0,3.0},{4.0,5.0,6.0});
cout<<object1.Name<<endl;
cout<<object1.x[1]<<endl;
cout<<object1.y[2]<<endl;
}
【问题讨论】:
-
C++ 不能以这种方式工作。所有数组都必须具有固定大小。否则,使用
std::vector。 -
如答案和 cmets 中所述,您无法在 C++ 中执行此操作。查看可用于使用更适合您需求的容器:cplusplus.com/reference/stl
标签: c++ arrays class constructor