如果我在堆上声明数组,我如何获得有关数组的信息?堆上的C++数组
这里是我的代码:
class Wheel
{
public:
Wheel() : pressure(32)
{
ptrSize = new int(30);
}
Wheel(int s, int p) : pressure(p)
{
ptrSize = new int(s);
}
~Wheel()
{
delete ptrSize;
}
void pump(int amount)
{
pressure += amount;
}
int getSize()
{
return *ptrSize;
}
int getPressure()
{
return pressure;
}
private:
int *ptrSize;
int pressure;
};
如果我有以下几点:
Wheel *carWheels[4];
*carWheels = new Wheel[4];
cout << carWheels[0].getPressure();
我怎样才能呼吁数组中的任何实例.getPressure()方法时,它是堆? 另外,如果我想在堆上创建轮的数组,但使用在堆上创建数组时,这个构造:
Wheel(int s, int p)
我该怎么办呢?
不要使用原始数组,他们不是C++中的头等公民。改为使用'std :: array'或'std :: vector'。你会为自己节省很多麻烦。 – Fiktik
请注意,您需要遵循** [Rule of Three](http://stackoverflow.com/questions/4172722/what-is-the-rule-of-ree)**您的'Wheel'类。 –