声明一个静态成员函数const或virtual

为什么不能将静态成员函数声明为const?

我知道一个静态函数不会影响任何特定类的实例。 这意味着这样的函数没有这个指针(隐式地作为隐藏参数传递)给任何特定的实例。 但我不明白为什么有一个编译器错误时,它被声明为常量,因为它没有改变任何特定的实例。

其次,为什么不能将静态成员函数声明为虚拟的?

需要对此进行一些澄清。


为什么声明为const时会出现编译器错误

const意思是“ this是一个指向const对象的指针”。 由于没有thisconst没有什么可以修改的。

为什么不能将静态成员函数声明为虚拟的

virtual装置“的基础上的实际动态类型的选择权函数this ”。 由于没有this ,所以没有什么可以选择。

链接地址: http://www.djcxy.com/p/96361.html

上一篇: Declaring a static member function const or virtual

下一篇: Class members and member functions memory location