美文网首页
Boolan-C++第一周笔记

Boolan-C++第一周笔记

作者: 伴读小书童q | 来源:发表于2018-03-25 23:15 被阅读0次

    如何编写一个不带指针成员变量的类

    关键点

    • c和c++的不同
      • c++中有对象的概念,每个对象中包含自己的数据和方法
    • 头文件中要进行防卫式声明
    • c++程序的基本形式
      • 类头文件,cpp文件,标准库头文件
      • include<>引用标准库头文件,include""引用类头文件
    • 头文件的布局
      • 防卫式声明
    #ifndef __MYCOMPLEX__
    #define __MYCOMPLEX__
    ...
    #endif   //__MYCOMPLEX__
    
    • 头文件的布局
      • 前置声明
      • 类声明
      • 类定义
    • 内联函数
      • 类声明中定义的函数,自动为inline;但是函数是否真的为inline,由编译器决定
      • 函数前添加inline
    • 类声明中,数据和函数访问权限关键字
      • public
      • private
      • protected
    • 在构造函数的初值列中完成对类中数据的初始化操作,而不是在构造函数体内进行赋值;默认参数的设定
    • c++的函数重载规则(overloading)
      • 函数同名,但是编译器中不同名
      • 构造函数常常有重载现象
      • 重载函数的参数必须不同,默认参数和没有参数的情况不符合要求
    • 构造函数放在private中
      • 单例模式Singleton
    • const的使用
      • const在函数体的大括号前,表示不能改变函数体中任何数据
    • 参数传递的两种形式:pass by value && pass by reference (to const)
      • pass by value:按传递参数的类型复制内容,如果参数过大,会占用过多内存
      • pass by reference:只传递一个指针大小
      • pass by reference时,如果不希望传递的参数被改变,需要在参数前增加const关键字
    • 返回值传的两种形式:pass by value && pass by reference (to const)
    • 参数和返回值的传递,尽量按照by reference(在情况允许时)
    • 友元:可以访问类的私有数据和方法
    • 相同class的各个objects之间互为友元
    • 一个好的类对象设计的几个要素
      • 类数据一定是private的
      • 参数和返回值尽可能按照reference传递,视情况增加const
      • 函数方法要考虑const的使用
      • 构造函数中的初始列中初始类数据
    • 操作符重载
      • 每个函数中都隐藏一个默认函数,this(类对象本身)
      • 当by reference传递时,传递者无需关注接收者是以reference形式接收
      • 不建议操作符函数的返回值类型为void,因为可能会连续使用操作赋函数
    c1 += c2 += c3;
    
    • 成员函数
    • 非成员函数
      • 二元操作符和一元操作符

    思考

    • 多个类对象对应多个类对象数据,却都对应同一份类函数,如何实现?
    • 何时不可以by reference传递返回值
      • 当返回值为local时,函数的返回值不可以按照引用传递
      • local的对象在函数执行完毕后会被销毁,如果传递引用会导致不可控的错误

    相关文章

      网友评论

          本文标题:Boolan-C++第一周笔记

          本文链接:https://www.haomeiwen.com/subject/aniqqftx.html