我有一段cpp的阶级是这样的值:C++重写继承的静态常量
class A{
protected:
static const int _a = 0, _b = 0, _c = 0;
std::string _data;
public:
void myMethod(); //method that changes _data based on the value of _a, _b and _c
};
如果我想创建让我们说:
Class B : public A{};
如何更改的_a
值,_b
和_c
为了改变myMethod
的行为?即使我再次声明它们,myMethod
仍将使用值class A
而不是class B
。
如果我想更改这3个数字,是否需要覆盖整个myMethod
函数?
编辑:myMethod()
是public
,而不是private
。
如果您明确调用B :: myMethod(),行为是否会改变? – xyious
这些值是常量,因此它们不能更改。 –
你不能改变它们,因为它们是'const'。因此 - 它们只能被初始化。 –