书籍推介:
- c++ Prinmer
- Effective C++
- STL 源码剖析
C语言和C++的差别
Objec Based(基于对象)vs. Object Oriented(面向对象)
Objec Based(面对的是单一的class的设计)
Object Oriented(买你对的是多重classes的设计 classes 和和 clsses 之间的关系)
Classes 的两个经典分类:
Class without pointer member(s)
Class with pointer member(s)
头文件的引用
使用<> 引用标准库的.h文件
使用""引用自己创建的头文件
例如:
#include
#include “hello.h”
class的声明
有class head 和 class body组成
class 的构造函数
:re®,im (i) 初始化
虽然在函数中我们编写的函数名是一样的,但是在编译器中被编译成不同的函数
- 存在默认值
- 不存在参数
1和2是存在冲突的,不能重载
-
inline 函数
函数在class body 内定义完成
在函数前面存在inline关键字
访问级别
public
private
常量成员函数
参数传递:
pass by value vs pass by reference (to const)
- 通过值传递
- 通过引用传递:
(to const不可以改变值)
返回值传递
return by value vs. return by reference(to const)
friend(友元)
- 相同的class的各个object是互为friends
-
总结:
数据尽量放到private中
需要加const 就要加const
能用pass by reference 就用 pass by reference (在函数中创建的内容不能使用引用,传递出函数外)
能用return by reference 就用 returnby reference