分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
在软件开发里,大家一直对着这个问题是执着的,那是“复用”。总想自己写出来的代码,可以适应性很强,到那里都可以落地生根。因此,面向对象的语言就层出不穷,每个都坚称可以最大地复用代码。在面向对象里, C ++是非常强大的。下面就来用 C ++把上面介绍的程序封装起来,这样可以复用,或者说条理更加清晰。
#001
#002 int APIENTRY _tWinMain(HINSTANCE hInstance,
#003 HINSTANCE hPrevInstance,
#004 LPTSTR lpCmdLine,
#005 int nCmdShow)
#006 {
#007 UNREFERENCED_PARAMETER(hPrevInstance);
#008 UNREFERENCED_PARAMETER(lpCmdLine);
#009
#010 CCaiWin caiWin;
#011
#012 caiWin.MyRegisterClass(hInstance);
#013 if (!caiWin.InitInstance(hInstance,nCmdShow))
#014 {
#015 return 0;
#016 }
#017
#018 return caiWin.RunMessage();
#019 }
这段代码跟前面介绍的调用,就是不一样了。
第 10 行创建了一个 CCaiWin 的对象 caiWin 。
第 12 行调用对象 CCaiWin 里的注册函数 MyRegisterClass 来注册一个窗口。
第 13 行就是初始化一个窗口的创建。
第 18 行就是调用对象 caiWin 的消息处理函数 RunMessage 。
这样就制定了一个基本应用的框架,可以任意修改对象里的内容,都不会影响这个函数里的调用,也就是说,只要不改那几个函数就可以永远不用修改 WinMain 函数里的内容了。
接着下来,再来看看类 CCaiWin 是怎么样编写的。它的类定义如下:
#001 #include <string>
#002
#003 //
#004 // 封装一个窗口类。
#005 // 蔡军生 2007/07/27
#006 //
#007 class CCaiWin
#008 {
#009 public:
#010 CCaiWin(void);
#011 virtual ~CCaiWin(void);