博览网c++面向对象程序设计 第一周课程

博览网c++面向对象程序设计 第一周课程

基础知识

  • 基于对象:Object Based 面对的是单一class的设计。
  • 面向对象:Object Oriented 面对的是多重classes的设计,涉及到类和类之间的关系。
  • 课程中设计到两种不同类设计:没有指针(成员变量)的类和带指针(成员变量)的类设计。
  • 头文件一般采用h结尾,源文件一般采用cpp,但是也不一定!(如stl很多没有后缀名)
  • 头文件采用防御式声明,采用 #ifndef *** #define *** #endif,避免多次引用。
  • 注意声明文件的内容顺序,一般是前置声明、类声明、类定义。(疑问,采用源文件进行类定义,与采用头文件进行类定义有哪些区别)
  • 有的函数在类声明时在类的内部直接定义(直接内联),内联只是一种编译提示,是否真的内联取决于函数复杂程度和编译器实现。
  • 构造函数的默认参数和初始化列表的使用,之一初始化列很重要,和复制不同!能提高程序的初始化性能。
  • 构造函数可以有多个重载。
  • 如果将构造函数放在private区域,则该类不能在外部构造对象,一般配合设计模式使用,采用工厂模式来构造类,禁止直接构造类的时候使用。例如:定义一个类的静态函数getInstance,该函数返回一个静态的对象。
  • 常量成员函数的意义很重要,一般不改变成员变量的函数都声明为常量函数,在函数声明后面添加 const。方便常量对象直接调用。
  • 明白参数传递中传值和传引用的意义,传引用与传地址效率一样。在类对象的参数传递中尽可能采用传引用的方式,对于不修改内对象的参数传递尽可能采用常量引用。
  • 返回值同样重视传值和传引用,此时注意局部变量考虑到其生命周期,在传引用时要尤其注意,不然会出现野指针。
  • 对于友元函数,可以直接访问友元的私有成员变量。相同class的各个对象之间互为友元。
  • 关于操作符重载,用于实现带有符号语义的函数,注意其语法要求。
  • 对于返回引用的情况,参考对序列化输出和连加连减等操作。
  • 明白操作符重载什么时候需要成员函数,什么时候需要非成员函数。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值