学习历程-25岁零基础学习编程(2)

8月10日

 

自己展示一下学习成果!

 

《写给大家看的C++》这本书看了85%了,至此,C++的初级的知识内容我已经掌握。指针、类的继承、构造函数等等,比较难的如重载操作符我就跳过去了。

动态内存管理和指向对象的指针这块比较难,我理解了一部分。如:

pointer->method

表示,引用指针变量pointer所保持地址的对象的方法,可以写为(*pointer).method。这个知识点之前搞的我相当的晕。

 

另:

AClass *pointer=new AClass;

表示,在内存创建了一个AClass类的实例,该实例的地址保存在pointer的变量里。该内存只能用delete释放。

那么,

AClass AObject;

这样创建一个实例,就是静态的么。这两种创建实例的方法有什么区别?

 

《写给大家看的C++》一书实在值得推荐。推荐此书是因为它够浅,对每个知识点都用最简单的例子,而且不很深入。我用了2个星期看完这本书,就可以遍历C++基础知识的所有知识点。

要知道,学习最关键的是兴趣,学习入门书如果太难的话,看到某处就会裹足不前,看不下去了,兴趣也会受打击。

该书浅显易懂,细致入微,引导我一步一步的学下去,真的非常感谢这本书的作者和译者。

 

 

————————————————————————————————————

之所以这么着急学C++也是为了赶快学VC++。我上周一直在看《VC++深入讲解》-孙鑫的视频,前面讲的不错,但看到MFC程序框架这块是完全的晕菜,连Winmain函数也找不到,也不知道谁是谁的子类和父类,真乱!(其实跳过去直接看创建对话框等应用到还好,但是我要理解他基础的原理)。

郁闷,周末跑去书店,在《Visual C++2008入门经典》-Ivor Horton 中看到这样一个MFC原理的简单范例,看完后我发现看懂了(终于),很兴奋,这本书写的不错,够浅!买下!(128元,比字典还厚)。~~我用的VC还是6.0呢

这个范例我很喜欢,是这样的:

大家看看我理解的正确吗?

 

创建一个新工程,创建一个cpp源文件,所有代码都放在这一个文件里,把工程-属性里改成包含共享MFC的dll文件。

 

#include<afxwin.h>  //包含MFC基础类的头文件

 

//定义一个CWinAPP新的子类

class COurApp:public CWinApp

{

public:

    virtual BOOL InitInstance(); 

};

 

//定义一个CWinFrameWnd的新子类

class COurWnd:public CFrameWnd

{

pubilc:

    COurWnd()   //构造函数

    {

        Create(0,"sample");  //用继承了的方法create创建一个窗口,标题"sample"

     };

};

 

// 定义方法

BOOL COurApp::InitInstance()

{

    m_pMainWnd=new COurWnd;   //动态创建一个COurWnd的实例,内存地址保存在指针m_pMainWnd里

    m_pMainWnd->ShowWindow(m_nCmdShow);  //调用该实例的方法,参数是m_nCmdShow(还不知道这个参数是干啥的)
    return true;

}

 

//创建一个实例

COurApp AnApplication;

 

运行该程序,就是一个窗口了。

从看代码中我了解到,程序启动顺序是创建COurApp类的一个实例,该类的析构函数肯定会调用InitInstance()函数(我猜的),该函数运行就创建COurWnd的实例,COurWnd的构造函数会调用create(),然后使用showwindow方法显示窗口。就这些。

 

这就算开始了!

 

好吧,开是学习VC++吧!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值