一、设计范式分类:
Object Based:面对的是单一class的设计
Object:物体,物件;而非对象,目标
Object Oriented:面对的是多重classes的设计,classes和classes之间的关系
二、以Class without pointer member(s)为例的头文件布局:
说明:
1.防卫式声明:必须有;避免头文件被重复包含;#ifndef,以“#”开头的可以当成命令。
2.access level存取级别:private只有在类内可见,public公开的;数据成员要用private;
3.构造函数ctor(constructor):无返回值类型;带默认实参,pass by value/reference;初值列,充分运用初值列的时间点,提高效率;初值列与赋值asign不同;构造函数要用public。
4.inline function内联函数:相当于MACRO;提醒编译器,使之成为内联函数;但是否成为内联函数,由编译器决定;通常,函数太复杂,编译器不会使之成为内联函数。在class内的函数,默认为内联函数。
三、value(值) V.S. reference(引用)
1.pass by value V.S. pass by reference (to const)
最好用pass by reference,传递指针。
2.return by value V.S. return by reference
不可return by reference的情况:返回local object局部物件;除此之外,可以return by reference。typename() 临时物件。
四、编程中的思考
1.初值列
2.const
3.pass by reference
4.return by reference
5.数据---private;函数---public