/*
案例2 手机升级3
让用户通过菜单来使用手机
为高级手机再添加一些新功能
*/
#include <iostream>
#include<windows.h>
using namespace std;
///////////////////////////////////////////////////////
// MOBILE 类,父类
///////////////////////////////////////////////////////
class MOBILE
{
private: //私有成员
int ID; //窗口ID
public:
MOBILE() //构造函数
{
ID=0;
}
void dial(); //拨打电话
void answer(); //接听电话
void hangup(); //挂断电话
};
//拨打电话
void MOBILE::dial(void)
{
cout<<"拨打电话号码: 13187618709"<<endl;
cout<<"正在拨号...\n";
}
//接听电话
void MOBILE::answer(void)
{
cout<<"正在接听来自: 13228712365";
cout<<" 的电话\n";
Sleep(3);
}
//挂断电话
void MOBILE::hangup(void)
{
cout<<"通话结束\n";
cout<<"\n 待机\n";
}
////////////////////////////////////////////////////////////
//MOBIPHONE "品牌"电话,子类
///////////////////////////////////////////////////////////
class MOBIPHONE:public MOBILE //public 继承
{
public:
MOBIPHONE(){} //构造函数
void time(void); //时间显示功能
void location(void); //"卫星"定位功能
void play(void);//播放
void camera(void);//摄像
void internet(void);//上网
};
// 显示当地时间
void MOBIPHONE::time(void)
{
SYSTEMTIME lpSystemTime;
GetLocalTime( &lpSystemTime );
cout<<"现在时间:";
cout<<lpSystemTime.wHour<<":"<<lpSystemTime.wMinute<<":"
<<lpSystemTime.wSecond<<endl;
}
//"卫星"定位功能(模拟,经纬度)
void MOBIPHONE::location(void)
{
//用随机数模拟
cout<<"您所在的位置是:东经"<<rand()%180<<","<<"北纬"<<rand()%90<<endl;
}
//播放(模拟)
void MOBIPHONE::play(void)
{
cout<<"播放:叶问"<<endl;
}
//摄像
void MOBIPHONE::camera(void)
{
cout<<"摄像:***的婚礼"<<endl;
}
//上网
void MOBIPHONE::internet(void)
{
cout<<"上网:http://wangjunhui984.cn.alibaba.com"<<endl;
}
class Menu
{
private:
MOBIPHONE M2; //高级电话,可以使用基类的public 成员
public:
Menu(void) //构造函数
{
while(true)
{
show(); // 无限制调用菜单的显示
}
}
void show();
};
void Menu::show(void)
{
cout<<endl;
cout<<"d:拨号"<<endl;
cout<<"h:挂断"<<endl;
cout<<"a:接听"<<endl;
cout<<"t:时间"<<endl;
cout<<"l:位置"<<endl;
cout<<"p:播放"<<endl;
cout<<"c:摄像"<<endl;
cout<<"i:上网"<<endl;
cout<<"e:退出"<<endl;
cout<<endl;
cout<<"请选择:";
char c;
cin>>c;
switch(c)
{
case 'd':
{
M2.dial (); //用简易电话拨号
break;
}
case 'h':
{
M2.hangup (); //挂断
break;
}
case 'a':
{
M2.answer (); //接听
break;
}
case 't':
{
M2.time(); //显示时间
break;
}
case 'l':
{
M2.location(); //显示位置
break;
}
case 'p':
{
M2.play();//播放
break;
}
case 'c':
{
M2.camera();//摄像
break;
}
case 'i':
{
M2.internet();//上网
break;
}
case 'e':
{
cout<<"退出"<<endl;
exit(1);
}
default:
{
cout<<"请选择正确的操作!"<<endl;
}
}
}
/////////////////////////////////////////////////////////////
//主函数
/////////////////////////////////////////////////////////////
int main()
{
Menu menu;
return 0;
}
- 大小: 3.2 KB