「技术笔记」侯捷C++学习笔记(面向对象高级编程)

inline函数在class内定义,

构造函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class complex{
public:
//构造函数名称和类的名称相同
//构造函数不需要返回值(因为是用来创建对象的)
complex(double r=0,double i=0)
:re(r),im(i)//初值列,初始列
{ }
//构造函数也可以这样,效率差些,因为上面的是初始化,下面这种是赋值。一般数据要先初始化,再赋值。
complex(double r=0,double i=0)
{
re=r;
im=i;
}
//常量成员函数,加上const,外界不能改变类里面的数据
double real()const{return re;}
private:
double re,im;
};

private里的,只能在class里使用,数据放在private,想被外界调用放在public

创建对象:complex c1(2,1);

函数重载overloading

参数传递:值传递和引用传递、

返回值传递:return by value return by reference.

friend(友元)

private:

friend complex

相同class的各个对象互为friends友元

操作符重载