⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tv.cpp

📁 C++ interview materials. Very helpful for interview. Including Answer.
💻 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 + -