1:在类中const成员函数能不能调用非const的方法?
不可以。因为this指针不同,根本原因在于this指针不一样。
调用成员函数时隐式传入的当前对象的this指针是不一样的,const 成员是 const类型的this指针,所以无法调动非const.
2:static静态函数能不能访问非静态成员?
不可以,static静态函数没有this指针。
3:静态成员函数和非静态成员函数有什么区别?
静态成员函数不同于非静态函数,它只属于类本身,不属于每一个对象实例,静态成员函数随着类的加载独立存在,与之相反是非静态成员函数,必须要在类实例化后存在。
3: 静态成员函数能不能被继承?
不可以,virtual虚函数调用的是this指针,在虚函数类实例中,this指针调用vptr指针,指向vtable虚表,通过虚表找到调用的虚函数的地址。
this -> vptr -> vptrtable->virtual函数。
继承中有关static成员 const函数常见问题
最新推荐文章于 2022-05-12 18:52:12 发布