C++运算符重载(成员函数以及友元函数实现)

运算符重载常用于解决结构体或是自己定义的类型的加减运算,提供了方便的方式!比如一个类里面的两个整数的相加,可以通过重载运算符+,其次运算符重载常用友元函数实现,可以实现更多的功能!因为友元函数可以访问类的所有成员!先写一个成员函数实现重载'+',睡觉后再写一个友元函数重载的方式!

include<iostream>
#include<string>
#include<cstring>
using namespace std;
class ST
{
	private :
		string name;
	public :
		void show()
		{
			cout<<name<<endl;
		}
		ST(string name)
		{
			this->name=name;
		}
		ST(char *t)
		{
			name=t;
		}
		ST operator+(const ST &a)//成员函数的运算符重载
		{
			string temp="";
			temp=name+a.name;
			return ST(temp);
		}
};
int main()
{
	ST s1("nihao");
	ST s2("dogdog");
	ST s3=s1+s2;//使用运算符重载
	ST s4=s1+"bo_jwolf";//这里自动先调用构造函数然后运算符重载
	s1.show();
	s2.show();
	s3.show();
	s4.show();
	return 0;
}


posted @ 2013-04-14 20:39  bo_jwolf  阅读(332)  评论(0编辑  收藏  举报