Boolan C++(上)1

1.使用自己写的头文件,需要使用双引号也可以在引号中加上路径,例如:#include “../include/complex.h”。尖括号的头文件表示使用系统默认路径的头文件。

使用时需要注意:

(1)c++程序推荐以.cpp结尾,可以是.c .C .cc .c++

(2)标准的c++ 头文件 没有.h

2.为了在包含头文件的时候不发生重复声明/定义,加上防卫式声明很有必要。

3.学会了头文件布局的规范型,前置声明,class声明以及class template模板。在有的时候我们不确定要定义的类里面的数据类型,我们可以使用模板来定义这个数据。这样在类实例化的时候可以临时定义它的数据类型。使用模板T时要在开头加上一句声明。

4.inline函数:一个函数如果在class内部完成定义,那他就已经是inline函数。如果函数的定义在class外部那么就不是inline函数,但是就是想把函数变成inline函数需要在头文件中(类外)直接定义,不能在别的.cpp文件中定义。inline函数的执行效率比一般的函数要快,但是inline这个关键词只是给编译器的一个建议,编译器到底有没有把函数编译成inline 函数我们不知道(一般比较短小的函数可以)。

5.三种访问级别分别是public,protected,private。

属于public的声明在类外可以直接调用,一般原则是不要把class的数据做成public,因为让数据保持私有才能符合面向对象的编程理论之一,只有class自己才能改变自己的数据,外部只能通过class的方法(就是函数)改变类的数据,这样保证了类中数据的安全性,数据只能通过合乎规则的方式被更新。

属于private的声明只能被类本身的成员函数使用,private声明在类外是可见的(名字是知道的),但是不能访问,数据最好放在private下,因为C++强调封装,函数也可以。

6.构造函数

构造函数很特殊,一般函数都有返回类型(void也是的),而构造函数没有,也不必有,因为构造函数就是用来创建对象的(所以构造函数名必需和类名一样),创建对象不需要返回值。

掌握了三种调用构造函数的创建方法。对象被创建自动调用,如果没有指定数值,参数就默认初始化成0;如果指定,就初始化成指定值。

初始化阶段设值比赋值阶段赋值要更大气,效率更高,初始化列表只有构造函数有。

构造函数可以写多个(C++有overload特性),以满足不同的初始化需求。造函数一般不放在private里头,但是也有特殊情况,例如视频里给出的singleton单体。

7.参数传递

传递参数一般使用引用传递(pass by reference),因为类里的数据一般较为庞大,如果使用值传递会消耗较大的资源,而引用在底层就相当于指针,因此可以消耗少量资源进行参数的传递。

8.操作符重载

在C++里头操作符事实上被看作一个函数,它可以被重新定义。(这一块看不太懂。。。C还没学好感觉C++好难。。。过段时间学扎实了再回来编辑,加油)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C++文件 例:从文件income. in中读入收入直到文件结束,并将收入和税金输出到文件tax. out。 检查...
    SeanC52111阅读 2,866评论 0 3
  • Introduction to C++ (Season 1) Unit 1: Overview of C++ 第1...
    我是阿喵酱阅读 2,773评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 文/洛小简 有一把利剑,从天涯的两边 穿透了云层,飞到了 两人的心间。爱情—— 若那就是爱,在风雨中缠绵 有一些不...
    洛小简阅读 233评论 0 2