【发布时间】:2018-11-09 20:21:32
【问题描述】:
我正在尝试在 C++ 中创建一个类,以存储多个参数的值,这些参数被组织为类“Planet”和“Satellite”类的成员变量,我想使用对'行星'。在这里,我提供了一个示例,其中我有一个“PlanetCatalog”类 成员变量“Planet neptune”和“Satellite triton”。
class Planet {
public:
double a;
Planet() {}
void setParams( const double a_) {
a = a_;
}
};
class Satellite {
public:
double b;
Planet & planet;
Satellite( Planet & planet_):planet(planet_) { }
void setParams(const double b_) {
b = b_;
}
};
class PlanetCatalog {
public:
Planet neptune;
Satellite triton(neptune);
void setAll() {
neptune.setParams(1.);
triton.setParams(2.);
}
};
但是,在编译时我遇到了错误。
error: unknown type name 'neptune'
Satellite triton(neptune);
是否可以像我在这里所做的那样将行星和卫星存储为同一类的变量。如果没有,有人可以建议用 C++ 组织此功能的更好方法吗?
【问题讨论】:
-
创建 PlanetCatalog 类的构造函数
标签: c++ constructor reference initialization