设备管理系统的问题
答案:1 悬赏:70 手机版
解决时间 2021-07-29 23:02
- 提问者网友:练爱
- 2021-07-29 11:27
就是设计某公司设备管理系统的,需要C++中的类,问题我补充了
最佳答案
- 五星知识达人网友:撞了怀
- 2021-07-29 11:57
你可以按如下的方法设计
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;
};
其它的就请自己实现吧。
以上仅供参考。
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;
};
其它的就请自己实现吧。
以上仅供参考。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯