请问几个问题,类里面构造函数和析构函数以及成员函数的定义
请教几个小问题,类里面构造函数和析构函数以及成员函数的定义
小弟菜鸟
最近在看深入浅出MFC
书中六大关键技术仿真时,类定义如下
Class CWinApp : public CWinThread
{
public:
CWinApp * m_pCurrentApp;
public:
CWinApp::CWinApp(){}
CWinApp::~CWinApp(){}
}
上面这个类定义成
Class CWinApp : public CWinThread
{
public:
CWinApp * m_pCurrentApp;
public:
CWinApp(){}
~CWinApp(){}
}
可以不可以?此处为什么要加上“CWinApp::”?有什么含义或者说法?必须要加吗?
CWinApp * m_pCurrentApp; 这一句,类型名就是类名,类体明显没有声明完,类型可用么?(我自己编译了一下)
是成功的,但是,在一个未声明完的类里面为什么可以用类名定义指针?内存分配可以完成么?
------解决方案--------------------
1.此处为什么要加上“CWinApp::”?有什么含义或者说法?必须要加吗?
可以不加的,但是建议你看看建立类的时候一般申明放在.h文件里面.实现放在.cpp文件里面,写法如:
Class CWinApp : public CWinThread
{
public:
CWinApp * m_pCurrentApp;
public:
CWinApp();
CWinApp();
}
在.cpp文件里面CWinApp::CWinApp(){};
CWinApp::~CWinAoo(){};
2.类的内存分布只是在实例化的时候才会分配,指针此时只是作为类成员被编译到符号文中,并没有指向实际的地址。编译的时候并没有对类和指针分配地址。
------解决方案--------------------
1:
小弟菜鸟
最近在看深入浅出MFC
书中六大关键技术仿真时,类定义如下
Class CWinApp : public CWinThread
{
public:
CWinApp * m_pCurrentApp;
public:
CWinApp::CWinApp(){}
CWinApp::~CWinApp(){}
}
上面这个类定义成
Class CWinApp : public CWinThread
{
public:
CWinApp * m_pCurrentApp;
public:
CWinApp(){}
~CWinApp(){}
}
可以不可以?此处为什么要加上“CWinApp::”?有什么含义或者说法?必须要加吗?
CWinApp * m_pCurrentApp; 这一句,类型名就是类名,类体明显没有声明完,类型可用么?(我自己编译了一下)
是成功的,但是,在一个未声明完的类里面为什么可以用类名定义指针?内存分配可以完成么?
------解决方案--------------------
1.此处为什么要加上“CWinApp::”?有什么含义或者说法?必须要加吗?
可以不加的,但是建议你看看建立类的时候一般申明放在.h文件里面.实现放在.cpp文件里面,写法如:
Class CWinApp : public CWinThread
{
public:
CWinApp * m_pCurrentApp;
public:
CWinApp();
CWinApp();
}
在.cpp文件里面CWinApp::CWinApp(){};
CWinApp::~CWinAoo(){};
2.类的内存分布只是在实例化的时候才会分配,指针此时只是作为类成员被编译到符号文中,并没有指向实际的地址。编译的时候并没有对类和指针分配地址。
------解决方案--------------------
1:
- C/C++ code
CWinApp::CWinApp(){} CWinApp::~CWinApp(){}