64,649
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
class CAbstract
{
public:
void display() { std::cout<< "hello mei..." <<std::endl;}
virtual void f() = 0;
};
int main()
{
CAbstract *cap = NULL;
cap->display();
return 0;
}
CAbstract *cap = NULL;
cap->display();
((CAbstract*)(0))->display();
// 或者
((CAbstract*)(NULL))->display();
//this 没用到
void CAbstract_display(CAbstract* this)
{
std::cout<< "hello mei..." <<std::endl;
}
//2楼的情况会用到
void CAbstract_display(CAbstract* this)
{
//通过虚函数表指针调用具体函数
this->vfptr... // error! 'this' is nil
}
//this 没用到
void display(CAbstract* this)
{
std::cout<< "hello mei..." <<std::endl;
}
class CAbstract
{
public:
virtual void display() { std::cout<< "hello mei..." <<std::endl;}
};
int main()
{
CAbstract *cap = NULL;
cap->display();
}