C++ 面向对象高级编程上学习笔记
目标:要有正规的、大气的编程习惯
推荐书籍
语言:《c++ primer》
专家的建议:《Effective C++》
STL:《STL源码剖析》
不带指针的类的相关知识
防卫式声明
#ifndef __COMPLEX__
#define __COMPLEX__
#endif
模板介绍
template<typename T>
内联函数
函数若在 class body 内定义完成,成为 inline 候选
class complex{
public:
double real() const { return re; }
};
构造函数
构造函数可以有很多个
构造函数放在 private 区,单例模式
complex(double r = 0, double i = 0) : re(r), im(i) {}
常量成员函数
double read() const { return re; }
值传递和引用传递
参数和返回值传递都尽量使用引用传递
通过引用传递,不想自己被修改,加上 const 修饰符
complex& operator += (const complex&);
ostream& operator << (ostream& os, const complex& x)
{
return os << '(' << read(x) << ',' << imag(x) << ')';
}
带指针的类的相关知识
classes 之间的关系
继承
复合
委托