C++构造函数&&运算符重载&&函数模板

构造函数

构造函数是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形

猜你喜欢

转载自blog.csdn.net/shuiyihang0981/article/details/79336823