NULL指针调用成员函数的例子

来源:互联网 发布:淘宝怎么买武士刀 编辑:程序博客网 时间:2024/05/23 14:18

main.h

#include <stdio.h>#include <assert.h>#include <windows.h>class A{public://构造函数A();//析构函数~A(){};//功能函数public:void print(void);//静态变量public:staticA*  GetInstance(void){return m_hInstance;}static  A*m_hInstance;//变量定义private:int      x;};


 

main.cpp

#include "main.h"A*A::m_hInstance=NULL;A::A(){assert(m_hInstance==NULL);if (m_hInstance==NULL)m_hInstance=this;x=123;}void A::print(void){OutputDebugString(TEXT("hello"));printf("hello\n");//printf("%d\n",x);//在print函数中没有调用A类的成员变量,也就没分配内存空间,调用print函数不会报错//在对x进行访问就报错了return; }int main (void){A::GetInstance()->print();return 0;}/*2015年5月11日 22:33:55程序执行结果如下:hello请按任意键继续. . .*/


 

0 0