声明一个静态成员函数const或virtual
为什么不能将静态成员函数声明为const?
我知道一个静态函数不会影响任何特定类的实例。 这意味着这样的函数没有这个指针(隐式地作为隐藏参数传递)给任何特定的实例。 但我不明白为什么有一个编译器错误时,它被声明为常量,因为它没有改变任何特定的实例。
其次,为什么不能将静态成员函数声明为虚拟的?
需要对此进行一些澄清。
为什么声明为const时会出现编译器错误
const
意思是“ this
是一个指向const
对象的指针”。 由于没有this
, const
没有什么可以修改的。
为什么不能将静态成员函数声明为虚拟的
virtual
装置“的基础上的实际动态类型的选择权函数this
”。 由于没有this
,所以没有什么可以选择。