#include <cstring> #include <fstream> #include <iostream> using namespace std; #define szSTR 64 stru 80
2个回答
展开全部
//看这个例子吧。你这是运算符重载不懂呀 ^_^
#include<iostream>
using namespace std;
class ClassName{
public:
int data;
ClassName & operator = ( ClassName & p){
data = p.data;
return *this;
}
};
int main(){
ClassName c1; ClassName c2;
c1.data = 99;
c2 = c1;
cout << c2.data << endl;
return 0;
}
//上面的代码能直接运行
/*
//解释
//开始定义一个类,这个类的变量名叫ClassName
class ClassName{
public://一下函数与变量是这个类的共有成员
int data;//一个共有整形变量
ClassName & operator = ( ClassName & p){
//“ClassName & ”是这个函数的返回值,函数名是“operator=”,参数的类型是“ClassName &” ,参数名是“p”
data = p.data; //左边的data是这个类对象里面的变量,右边的data时参数(这个类的另一个对象)里面的成员变量
return *this;//返回这个类对象本身。this是个指针,所以需要加*符号。
}//调用格式见下面
};
int main(){
ClassName c1; ClassName c2;//定义两个类
c1.data = 99;//赋值
c2 = c1;//调用上面定义的的function
//本来,这个函数该这么调用“c2.operator=(c1);”,不过这是运算符冲在函数,特殊嘛,所以就不写“.”“operator”和括号了。
cout << c2.data << endl;//查看值,发现运算符重载成功了!!
return 0;
}
*/
#include<iostream>
using namespace std;
class ClassName{
public:
int data;
ClassName & operator = ( ClassName & p){
data = p.data;
return *this;
}
};
int main(){
ClassName c1; ClassName c2;
c1.data = 99;
c2 = c1;
cout << c2.data << endl;
return 0;
}
//上面的代码能直接运行
/*
//解释
//开始定义一个类,这个类的变量名叫ClassName
class ClassName{
public://一下函数与变量是这个类的共有成员
int data;//一个共有整形变量
ClassName & operator = ( ClassName & p){
//“ClassName & ”是这个函数的返回值,函数名是“operator=”,参数的类型是“ClassName &” ,参数名是“p”
data = p.data; //左边的data是这个类对象里面的变量,右边的data时参数(这个类的另一个对象)里面的成员变量
return *this;//返回这个类对象本身。this是个指针,所以需要加*符号。
}//调用格式见下面
};
int main(){
ClassName c1; ClassName c2;//定义两个类
c1.data = 99;//赋值
c2 = c1;//调用上面定义的的function
//本来,这个函数该这么调用“c2.operator=(c1);”,不过这是运算符冲在函数,特殊嘛,所以就不写“.”“operator”和括号了。
cout << c2.data << endl;//查看值,发现运算符重载成功了!!
return 0;
}
*/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大哥 你敢把题目贴完整么
追问
还有、、
追答
第一个就是重载了 < 运算符 实现通过write输出s的内容
第二个就是重载了 << 运算符 实现把s的内容导入到s里面用以输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询