指向类指针如何 初始化

来源:百度知道 编辑:UC知道 时间:2024/06/06 00:23:40
定义了一个指向类的指针,主要是向调用它的成员,请问如何对这个指针进行初始化,比如我定义的指针是CIcmainDlg *m_pIcmaindlg,如何对它初始化呢?
程序是这样
CIcMian *Icmain=NULL;
Icmain->m_Lamp.SetBitmap(Icmain->hok);
其中m_Lamp是一个静态图像关联的变量,hok是一个HBitmapl类型的变量,已经载入了图像,
每次运行到Icmain->m_Lamp.SetBitmap(Icmain->hok)时候就会出现错误,说指令指向的内存不能为"read",这是什么原因呢?

这个语句是在多文档框架类中的一个函数中,CIcMain是一个子窗口类,我想在框架类中操作子窗口中的这个图像。
下面的方法我都试过了,没有用。请高人指导一下!

需要定义一个类,然后再把类指针指向这个类的地址,也可以初始化为NULL,但是NULL指针只能调用不涉及类成员变量的类成员函数。

代码示例:

#include <iostream>
using namespace std;

class Test
{
public:
    void func(){cout << "hahaha" << endl;}
    int get(){return a+b;}
    Test():a(1),b(2){}
public:
    int a,b;
};

int main()
{
    Test Tc;
    Test *p = &Tc; //初始化类指针
    p->func(); 
    p->get();
    Test *k = NULL;
    k->func(); //正确,没有调用成员变量,没有使用空的this指针
    //k->get(); 错误,this指针为空,通过this指针调用变量所以出错
    ret