MFC学习(chapter2;1)

  用的编程软件也是比较基本的VC6.0,原来也安装过VS2010,但好多地方不大会用,所以还是用最基本的VC6.0,本次只是看了一些最最基础的东西,好比一开始进入最开始的VC++界面如何建一个空的程序外壳,就是在新建菜单里面新建一个项目,选择win32 console application这个选项,再然后为其加上源文件,在Files选项卡下,选择C++ Source File,输入同样的名称即可进行C++程序的编写。这些东西虽然很基础但我还是希望不管如何先记录下来再说,毕竟万事开头难,再说想必也没有几个人会在学习笔记上记这些东西吧,这也算是在做少数人这一类了。

  1.从结构到类

    (1)结构体的定义与类的定义相似,一个使用struct关键字,一个使用class关键字,C语言中的结构体是不能包含函数的,但在C++中可以结构体包含函数,称为成员函数。

    (2)结构体默认情况下,其成员是公有的,而类在默认情况下其成员是私有的

  2.C++的特性

    (1)类与对象是有区别的,我们定义一个类point,在main函数中我们则定义一个名为pt的对象

    (2)构造函数的名字与类名相同,没有返回值,他是用来对对象本身做初始化工作。如果没有定义构造函数则有C++编译器自动添加一个构造函数。(p36)

    (3)析构函数的定义格式是~类名(),如~point(),析构函数不允许带参数,并且一个类中只能有一个析构函数,在类中定义成员变量是不能直接给成员变量赋值。

    (4)函数的重载有条件:函数的参数类型,参数个数不同,才能构成函数的重载。(p38注意)

    (5)this指针等同于执行this=&pt,this->x=0

    (6)类的继承,class fish:public animal{ },当子类的对象被调用是,父类的构造函数先被调用,析构函数后被调用,还有一种就是在构造子类对象时,我们如何调用父类带参数的构造函数呢?可以在子类的构造函数之后,加上冒号,在加上父类带参数的构造函数,如:fish():animal(400,300)。类的public定义的成员可以在任何地方被访问,protected定义的成员只能在该类以及其子类中被访问,privated定义的成员只能在该类自身中访问。类的多重继承也是一个重点,定义的形式如下 class 派生类名:访问权限 基类名称,访问权限 基类名称,访问权限 基类名称{ ……};,基类的说明顺序在某些情况下还是很重要的~~(p47)

    (7)虚函数与多态性、纯虚函数;关于虚函数以及函数的多态性,本质上就是在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。至于纯虚函数是指被标明为不具体实现的虚成员函数,如:virtual void breathe( )=0; 但凡含有纯虚函数的类叫做抽象类,这种类不能声明对象,只是作为基类为派生类服务,而在派生类中一定要完全实现基类的纯虚函数,否则派生类也变成了抽象类,不能实例化对象。

    (8)函数的覆盖和隐藏;

                       i)构成函数覆盖的两个函数要分别位于派生类和基类中;基类函数必须是虚函数(使用virtual关键字进行声明);函数名称与参数列表必须完全相同。

                       ii)函数的隐藏,在派生类中隐藏了基类的同名函数,函数的隐藏和函数的重载有区别,重载发生在同一个类中

   (9)引用;int &b=a是指&b是a的另一个名字。

   (10)C++类的设计习惯以及文件重复包含问题的解决;设计一个雷的时候,通常是将类的定义及成员函数的声明放到头文件中,将类中成员函数的事项放到源文件中,对于一个类A来说,需要A.h和A.cpp两个文件,对于main()函数我们把他放在 工程名.cpp 中。









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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值