永发信息网

设备管理系统的问题

答案:1  悬赏:70  手机版
解决时间 2021-07-29 23:02
就是设计某公司设备管理系统的,需要C++中的类,问题我补充了
最佳答案
你可以按如下的方法设计
1)因为所有的设备都有名称,价格,编号(用于添加,查找等操作),你可以定义一个设备基类,如下
class instrument
{
public:
instrument();
instrument(char name[], float price, int index);
~instrument();

inline void name(char name[]);
inline char * name();

inline void price(float price);
inline float price();

inline void index(int ind);
inline int index();

protected:
char m_name[100];
float m_price;
int m_index;
};

2) 使用继承的概念从该类中创建派生类,先考虑普通电视机类

class tv : public instrument
{
public:
tv() {m_price = TV_PRICE;};
tv(char name[], float price, int index);
~tv();
};

类似的,建立DVD类 class dvd;

注意,在有基类instrument的情况下,不能使用下面的类结构定义tv_dvd
class tv_dvd : public tv : public dvd
{
...
}
这样会形成倒金字塔的不稳定类的继承关系
只能使用类似于tv类的方法建立一个继承自instrument的tv_dvd类,关于价格之间的关系可以在下面实现。

3)建立的仓库类完成电器的管理
class manage
{
public:
manage();
~manage();

bool add(int type);
bool remove(int type, int index);
...

private:
vector<instrument *> m_pInstrument;
instrument * m_pNext;
}

只提示你add函数的实现

bool manage::add(int type)
{
instrument * pNew;
switch(type)
{
case 0: pNew = new tv(); break;
case 1: pNew = new dvd();break;
case 2: pNew = new tv_dvd();break;
default:
return false;
}

//设置名称
...
//设置价钱(解决价钱之间的问题)
...
//设置序号
//查找所有的同类电器,自动获得序号
//当然也可以实用其他的方法,如在类中增加一些成员变量以统计当前各类电器的数量
...

m_pInstrument.push_back(pNew);

return true;
};

其它的就请自己实现吧。

以上仅供参考。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样吃饭不会胖?
京山县荆门石龙邮政支局邮政储蓄所地址在什么
急需解决,多谢!
120平米的商品房如果安装地暖需要多少钱.一年
两年前,我告诉自己不再有男孩走近我心里!两
双晶凤凰多少钱,凤凰传奇出场费是多少
浚县鹤壁第一饭庄亲柯麻辣烫地址有谁知道?有
小麦的出粉率是85%,要磨出170千克面粉,需多少
谁知道重庆哪些厂还在招人?
求火爆、热门英文歌曲
nds废弃医院结局是什么
为什么我家里的QQ农场进不去?
红头发是怎么回事?自然红的没染没干嘛!
郧西县十堰郧西农村商业银行ATM怎么去啊,谁
汗!我和老妹开玩笑,玩笑开大了,她生气了!
推荐资讯
期货钢材按现在的价位能不能进入?
粤语从什么时候开始的
小孩怎样去黑眼圈,小孩怎么去除黑眼圈
浏览器插件怎么更新啊
岳麓区长沙和顺茶楼地址在哪,我要去那里
联想启天M2000集成显卡可以换成独立显卡吗
现在的豪杰春香视频怎么全没了,有的给俄个
怎么挽回一个已经不爱你了的女人的心?
一个人可能同时爱上两个人吗?
仙剑奇侠传3的主题和片尾曲就什么
小方在网络上看一部科教片,播放到三分之一时,
T5450升级的话,可以更换哪个型号?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?