【发布时间】:2016-07-28 13:19:35
【问题描述】:
我在 Accelerate 方法上有 const,但我可以调用 power 方法。他们是一种真正阻止这种情况的方法吗?
class Engine{
public:
void Power(){
}
};
class Car{
public:
Car() : p(new Engine()){}
void Accelerator() const{
p->Power();
}
private:
Engine* p;
};
【问题讨论】:
-
因为您的
Engine指针是const而不是它指向的东西。 -
您是否需要
Engine*而不仅仅是Engine? -
一辆真正的汽车会包含引擎,而不仅仅是指向一个。
标签: c++ constants const-correctness