首页 > 编程 > C++ > 正文

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

2019-11-11 02:26:23
字体:
来源:转载
供稿:网友

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

基础知识

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

图片精选