1.分为带有指针的类,和不带有指针的类。
2.c++代码基本形式,头文件(.h文件)& 主程序(.cpp文件,可能因为平台不同,名字有所不同,比如.hpp)& 标准库。
3.头文件&标准库在主程序中使用,标准库的引入方式(#include <xxxxx> ,如果引入C的部分#include <cxxxxx>),引入自己写的头文件(#include "xxxx.h")注意引入的写法
4.头文件,防卫式声明 #ifndef __XXXXX__ , #define __XXXXX__ ,已#endif结束。
5.前置声明,类声明,类定义。
6.class的设计有class head & class body ,在class本体里定义的函数为inline,inline 的编译有编译器去决定,inline定义的函数编译器会尽量去编译成inline函数。public关键字为公开的,构造此类后可以在别的类中调用该类的函数。private关键字声明为私有的,私有为本类自己使用。public & private 组成访问级别。
7.class的构造函数,构造函数和类名相同,可根据自己需要来写参数,也可给参数附加默认值,可使用初值列,初始列。
8.double real() const {return re ;} ,此函数返回本类的私有变量,不会改变变量值,可以在此位置加上const 。const为常量关键字,可以用在类的前面,此对象不可更改其值。
9.参数传递,pass by value & pass by reference (to const)在掉用函数时候,有些函数需要传值比如此函数 complex(double r = 0 , double i =0): re(r) , im(i){} 此方法就是pass by value 。 complex& operator += (const complex&);此方法就是为传递引用(xxxx& pass by reference 执行效率会很高),在参数加上 const 是为了不让函数里去修改当前传递值。在函数的参数上尽量 pass by reference。
10.返回值:和参数传递上也有 return by value & return by reference (to const) 。尽量返回函数为 by reference 。
11.friend 友元。friend可以拿本类的私有变量,friend complex& _doapl(complex* , const complex& );在调用此函数时候
inline complex&
_doapl(complex* ths , const complex& r){
ths->re += r.re;//自由取得friend的private的成员。
ths->im += r.im;
return *ths;
}
12.在返回值不需要去新创建一个对象时候可以使用retrun by reference 。
13.操作符重载,某个对象调用方法有个隐藏的参数,参数为调用对象的本身,可以用this来取值。