首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个指针调用的有关问题(多次调用还是重复调用,自己没底,就不乱取名字)

2013-11-19 
一个指针调用的问题(多次调用还是重复调用,自己没底,就不乱取名字)首先,有个串口类Cncomm.h,是个单独的h文

一个指针调用的问题(多次调用还是重复调用,自己没底,就不乱取名字)
首先,有个串口类Cncomm.h,是个单独的h文件。里面是一个类的声明,有一个Open(~)的函数。

下面2种方法:
方法一:
在Login.h里面定义
引用头文件
#include "Cncomm.h"
在CLogin
里面 定义变量
CnComm com;

调用的时候如下


if(!(com.Open(1028,strCBComPort,19200,NOPARITY,8,ONESTOPBIT)))
{
AfxMessageBox(_T("打开串口失败"));
return;
}
else
{
AfxMessageBox(_T("打开串口成功"));
}

没问题,能正常打开使用串口

方法二:
把Cncomm.h的引用放在第三方的Main.h里面
头文件定义(Main.h)内 #include "Cncomm.h"
仍然在CLogin的对话框里面用。

在Login.h里面
class  CMainApp;声明类
CMainApp  *m_pClassLoginDlg;定义指针

在Login.cpp内
在OnInitDialog()内初始化和获得

m_pClassLoginDlg=NULL;
m_pClassLoginDlg=(CMainApp  *)AfxGetMainWnd();

然后引用

if(!(m_pClassLoginDlg->com.Open(1028,strCBComPort,19200,NOPARITY,8,ONESTOPBIT)))
{
AfxMessageBox(_T("打开串口失败"));
return;
}
else
{
AfxMessageBox(_T("打开串口成功"));
}

这里的检测过不去,
现在请问一下,这个指针的使用方式哪里有问题?
或者,如何去对这个Open操作?

放到CMainApp里面是为了达到一次定义,Login和MainDlg里面都能使用,并且一致的目的。还有别的方法达到这一目的吗?

[解决办法]
baidu来的:http://blog.csdn.net/boyxiaolong/article/details/6645681

热点排行