📄 tv.cpp
字号:
/*
编写一个叫TV的类,用来描述现实生活中的电视机。
TV类中有一个经常操作的成员变量volume(电视机音量,整数,取0到99之间的整数)。
现在,要求你重载+运算符和++的后缀形式,使得下面的代码能够成功执行:
TV objTV;
objTV=objTV+15; (音量增大15)
objTV++; (音量增大1)
--------------------------
周永 2004-09-28 16:52 编写
*/
#include <iostream>
using namespace std;
class TV
{
private:
int volume; //电视机音量 整数
public:
TV(int = 30 ); //构造函数 默认数据30
TV operator+ (int); //重载加号 加上一个数
TV operator++ (int); //重载++ 后缀形式 括号中的参数不会实际使用
void display(); //打印成员变量的函数
};
TV::TV(int iArg ) //构造函数实现
{
volume=iArg;
}
TV TV::operator+ (int iArg) //重载+运算符的实现
{
TV temp;
volume=volume+iArg; //核心代码 先加上参数再赋值
if (volume>99) volume=99; //不允许超过99
if (volume<0) volume=0; //不允许小于0
temp.volume=volume;
return temp;
}
TV TV::operator++ (int) //重载++运算符的实现(后缀形式)
{
TV temp;
temp.volume=volume; //后缀 先赋值 再加1
volume=volume+1;
if (volume>99) volume=99; //不允许超过99
if (volume<0) volume=0; //不允许小于0
return temp;
}
void TV::display() //打印函数具体实现
{
cout << "Current Volume: " <<volume <<endl;
}
int main()
{
TV tObj(20);
TV tObj2;
tObj.display(); //打印20
tObj=tObj+15;
tObj.display(); //打印35
tObj2=tObj++;
tObj2.display(); //后缀形式 tObj2取得tObj未做加一前的数据 打印35
tObj.display(); //打印36
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -