空指针问题,为什么不能调用成员函数
问题描述:
为什么报错this->mem是nullptr。空指针不是也能调用成员函数么,如果成员函数里面没有this指针。调用的storage()里面没有this指针
答
空指针可以访问成员函数, 但是无法访问成员, 另外虚函数的实际是由成员的一个函数表控制, 所以虚函数是无法访问
去掉子类的Virtual效果是一样的,还是报错。 因为去掉父类是Virtual, 这样函数还是Virtual, 是没有意义的
答
vc++有额外的运行时检查,所以会报错,目的是方便你改错
答
在构造函数Computer里,你把三个数据成员的初始化不是都注释掉了吗,所以成员mem,cpu,vc的地址都是不确定的,俗称野指针。另一个问题,谁说的空指针可以访问成员,无论是数据成员还是成员函数?