构造函数
构造函数是C++提供用来处理对象的初始化,与其他函数不同的是,不需要用户调用,在建立对象时自动执行
注意的是:构造函数必须与类名同名(当然结构体也可以使用),不能任意命名。无类型,无返回值。
比如拿结构体来说
struct complex { int real,image; complex(int real = 0, int image = 0) :real(real), image(image) {} };
运算符重载
也就是一名多用,包括函数和运算符,举个例子,我们常使用“+”对整数,单精度数,双精度数进行加减,其实计算机对处理不同数据操作方法是不同的,又比如“<<”">>"既可以作为流插入,流提取,又当作移位使用,如果我们想进行复数加减,显然“+”“-”不能直接使用,这就需要运算符重载complex operator+ (complex c1,complex c2) { complex c; c.image = c1.image + c2.image; c.real = c1.real + c2.real; return c; }
使用格式:
函数类型operator运算符名称(形参表){对运算符的重载处理}
operator是关键字,专门定义重载运算符函数的,上面
operator+
就相当于函数名
函数模板
这个也很强势的,比如写一个函数,功能是求和怎么写呢,肯定要指明类型,这样它只能求整或者求double,如果需要这个函数可以几种类型都可以求和,可以使用函数模板
template<typename T> T sum(T x,T y) { T sum; sum = x + y; return sum; }这样就定义一个T类型,T是不定的,可以传入整形,double形