关于空类指针为什么可以调用类的成员函数
1个回答
展开全部
class MyClass{public:int i;void hello(){printf("hello/n");}void print(){printf("%d/n", i);}};void main(){MyClass* pmy = NULL;
pmy-hello();}看上面的这段代码,似乎很诡异。 用一个空指针调用成员函数,简直是天大的错误,可以遗憾的是,却是可行的,至少对于上面的这段程序来说,不会照成错误。
之前运行的原因。
大家知道,每个对象,都有一个指向自己的this指针,这个指针的值,将会因为对象的不同而不同,它的作用主要就是用来区分不同的对象,这样你就可以根据它
pmy-hello();}看上面的这段代码,似乎很诡异。 用一个空指针调用成员函数,简直是天大的错误,可以遗憾的是,却是可行的,至少对于上面的这段程序来说,不会照成错误。
之前运行的原因。
大家知道,每个对象,都有一个指向自己的this指针,这个指针的值,将会因为对象的不同而不同,它的作用主要就是用来区分不同的对象,这样你就可以根据它
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询