📄 程序10.09:类对象与数相加_加号运算符重载.cpp
字号:
/* 程序10.9:类对象与数相加_加号运算符重载.cpp:*/
#include<iostream> //包含头文件
using namespace std; //使用名字空间std
#include<string> //包含头文件
class Person //声明一个类Person
{
private:
int iApple; //声明私有成员变量
public:
Person(); //声明无参数构造符函数
Person(int iApple); //声明有参数构造符函数
Person operator+(Person); //声明加号运算符函数,参数为类对象
Person operator+(int); //声明加号运算符函数,参数为整型数
void display(string); //声明显示成员变量函数
};
int main() //main()函数开始
{
Person XiaoWang(3); //声明类对象XiaoWang,调用有参数构造符
Person XiaoSong(5); //声明类对象XiaoSong,调用有参数构造符
cout<<"调用operator+()加号运算符函数前"<<endl;
XiaoWang.display("XiaoWang"); //调用显示类对象和成员变量函数
XiaoSong.display("XiaoSong"); //调用显示类对象和成员变量函数
Person XiaoZhao; //声明类对象XiaoZhao,调用无参数构造符
XiaoZhao=XiaoWang+XiaoSong+2; /*第一个加号等价于:
XiaoWang.operator+(XiaoSong)第二个加号等价于XiaoWang.operator+(2)*/
cout<<"调用operator+()加号运算符函数后"<<endl;
XiaoZhao.display("XiaoZhao"); //调用显示类对象和成员变量函数
return 0;
} //main()函数结束
Person::Person() //定义无参数构造符函数
{
iApple=0;
}
Person::Person(int iApple) //定义有参数构造符函数
{
this->iApple=iApple;
}
Person Person::operator+(Person N) //加号运算符函数,参数为类对象
{
cout<<"\n类对象相加运算符(+)函数被重载"<<endl;
Person Temp;
Temp.iApple=iApple+N.iApple;
return Temp;
}
Person Person::operator+(int iNum) //加号运算符函数,参数为整型数
{
cout<<"\n类对象与数相加运算符(+)函数被重载"<<endl;
Person Temp;
Temp.iApple=iApple+iNum;
return Temp;
}
void Person::display(string s) //定义显示类对象和成员变量函数
{
cout<<s<<" = "<<iApple<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -