『原创』用C++开发WM应用系列(1)——"Hello World" Pro!(下)
引言:
在上一篇随笔中,我们已经学习并建立了一个基于MFC的Native C++智能设备应用程序,并且,在程序中放入了一个Button1按钮,同时,对这个按钮的单击动作,添加了“事件处理程序”。
同时,我们也遇到了一些问题,比如,MFC是什么?它的工作机制或原理是什么?c++中,字符串操作,变量操作应该注意什么?这些基础的问题呢,我想大家通过阅读<Visual Studio 2005 C++入门经典>这本书就可以知道答案了!所以,再一次推荐基本上没有c++基础或者基础薄弱者(比如我),先去读一读这本书~附上在线阅读地址:
http://book.csdn.net/bookfiles/264/,以及电驴的下载地址:http://www.verycd.com/topics/340082/
Ok,紧接上一篇,我们要在这篇随笔中,为我们上一次的那个简单的Hello World程序添加一个类,为这个类添加一个计算方法,比如累加,然后在程序中来调用这个类的这个方法。下面,我们赶快开始吧。
还是打开上一篇我们建立起来的那个HelloWorld项目。然后呢,自然是为这个项目添加一个类了,如何添加呢?首先是先打开“类视图”,然后右键点击我们的HelloWorld项目名称,有一个添加选项,选择类即可!如下图:
当然,因为我们这个类基本上不需要复杂的属性、操作等,所以,我们就使用最简单的“C++类”模板即可,点击添加,如下图:
关于这个类的概念,大家可以到上文中,提到的在线阅读地址查阅相关章节,在那里已经为大家说的很清楚了~
来到了类的添加向导界面,我们要输入的就是一个类名称,当你输入的同时,在右侧的.h文件以及.cpp文件输入框会自动补全,我们就不管他了,类名输入“DoCalc”,基类是什么呢?我们的这个类暂时没有基类,如果你不清楚什么是基类,基类的作用,那么还是请你参阅上文中提到的书籍。然后我们看到类的访问性选项,我们就默认为public吧,当然,访问性的介绍,在上文的书中也详细提及,有兴趣的朋友可以参看。然后,点击“完成”即可。
tips:
类的介绍及概念:http://book.csdn.net/bookfiles/264/10026411756.shtml
类的访问性参考地址:http://book.csdn.net/bookfiles/264/10026411759.shtml
然后,在“解决方案资源管理器”下,可以明显的看到“头文件”及“源文件”两个文件夹下,多出了刚才我们添加的内容,点击源文件中的那个cpp,我们看到代码,系统已经自动为我们生成了类的构造函数以及析构函数,在头文件中也是如此,只是头文件中并没有给出实现的具体代码。为什么呢?当然,这是一个比较初级的问题,还是看书吧!嘻嘻~~
我们打开“类视图”窗口,应该能看到我们刚才添加的那个类哦,之后,为该类添加函数,我们右键点击这个类,点添加选项,选中“添加函数”即打开了函数添加向导窗口(好多向导哦~)如下图,我们设置函数名为Add,然后他的返回值为int型,参数为int型,参数名为num吧,设置这个函数的访问性为public,勾选“静态”(如果你对这些概念不清楚,麻烦你在园子里搜一下,马上就知道了!),点击参数名下的“添加”按钮,先把参数添加到方法体中,最后再点击完成!
Ok,大功告成,我们回到“解决方案资源管理器”下,自己打开类的cpp以及h文件看看,是不是多出了我们刚才添加的那个方法,以及他的属性了呢。我们再回到“类视图”窗口,左键选中我们添加的类,在下面我们是不是看到它的方法了呢。下面,顺理成章的,我们要为这个类的方法添加具体实现代码了。我们来到这个类的cpp文件中,往Add方法体中,使用如下代码:
int DoCalc::Add(int num) { return num+num; }
之后,回到Button1的单击事件处理函数,修改代码如下:
void CHelloWorldDlg::OnBnClickedButton1() { DoCalc docalc;//实例化一下我们的类 CString resualt;//准备一个字符串来存放结果 resualt.Format(L"%d",docalc.Add(3));//将int型转换为字符串 MessageBox(resualt,L"Tips",0); }
不过,别忘了引用新添加的类的头文件:DoCalc.h。
下面,我们保存、编译、运行一下吧!是不是成功了呢?本系列第一篇,就结束了。下面我们来回顾一下吧。你可以在这里下载到这篇随笔的代码
总结:
我们学会了:
- 为程序添加一个类。
- 为类添加方法(函数)。
- 在程序中使用此类以及它的方法。
- 了解了类的访问性、定义概念等其他基础知识。
问题:
- 我们所有的操作均是由vs向导为我们完成,手动的部分很少,那么是不是不能手动去做一些呢?那是肯定的,在这本书中已经详细的为大家介绍了很多方法、技巧,强烈推荐阅读!以及后续我们会遇到的问题,这本书通常都为我们做出了解答!希望大家能够仔细的参看它。
后记:
- 在有了这么一个起步性质的文章之后,我们要知道,我们是为了WM编写应用,所以应当较多的去开发、挖掘WM的功能,下一篇文章我将和大家一起,用C++来做一个简单的针对WM设备的小程序!具体是什么呢?还没想好~嘿嘿
出处:http://longqi293.cnblogs.com
本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。
本篇博文 by Jack Fan is licensed under a Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License.
这是我的公众号,【代码只是副业】