C++面向对象高级编程(上)(第一周、GeekBand、侯捷)

一、设计范式分类:


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

你可能感兴趣的:(C++面向对象高级编程(上)(第一周、GeekBand、侯捷))