C++ 通过从操作员获取的cin输入创建类>&燃气轮机;
我的任务是使用以下数据成员/成员函数创建以下类C++ 通过从操作员获取的cin输入创建类>&燃气轮机;,c++,oop,input,cin,C++,Oop,Input,Cin,我的任务是使用以下数据成员/成员函数创建以下类 计算机 内存(GB) 处理器速度(以GHz为单位) #岩心 硬盘驱动器存储大小(GB) 打印(虚拟功能) 桌面(从计算机继承) hasMonitor 显示器尺寸(英寸) 笔记本电脑(从计算机继承) 屏幕尺寸 群集(从计算机继承) 计算机数量 我应该添加一个虚拟打印功能,并为我拥有的每台台式机/笔记本电脑进行输入。有人能帮我弄清楚为什么它不接受任何信息吗 #include <iostream> using namespa
- 计算机
- 内存(GB)
- 处理器速度(以GHz为单位)
- #岩心
- 硬盘驱动器存储大小(GB)
- 打印(虚拟功能)
- 桌面(从计算机继承)
- hasMonitor
- 显示器尺寸(英寸)
- 笔记本电脑(从计算机继承)
- 屏幕尺寸
- 群集(从计算机继承)
- 计算机数量
#include <iostream>
using namespace std;
class computers{
public:
int ram;
double processor_speed;
int num_cores;
int hd_storage;
computers();
};
computers::computers()
{
ram=0;
processor_speed=0;
num_cores=0;
hd_storage=0;
}
class desktop: public computers{
public:
bool hasMonitor;
double monitor_size;
desktop();
friend istream& operator>>(istream& isObject, desktop& desk1);
};
desktop::desktop()
{
hasMonitor=true;
monitor_size=0;
}
istream& operator>>(istream& isObject, desktop& desk1)
{
isObject>>desk1.hasMonitor;
isObject>>desk1.monitor_size;
isObject>>desk1.ram;
isObject>>desk1.processor_speed;
isObject>>desk1.hd_storage;
isObject>>desk1.num_cores;
if(desk1.hasMonitor==0)
desk1.hasMonitor=false;
return isObject;
}
class laptop:public computers{
public:
int screen_size;
laptop();
friend istream& operator>>(istream& isObject,laptop& lap1);
};
laptop::laptop()
{
screen_size=0;
}
istream& operator>> (istream& isObject, laptop& lap1)
{
isObject>> lap1.ram;
isObject>> lap1.processor_speed;
isObject>> lap1.hd_storage;
isObject>> lap1.num_cores;
isObject>> lap1.screen_size;
return isObject;
}
class cluster:public computers{
public:
int num_of_comps;
friend istream& operator>>(istream& isObject,cluster& clust1);
cluster();
};
cluster::cluster()
{
num_of_comps=0;
}
istream& operator>>(istream& isObject,cluster& clust1)
{
isObject >> clust1.ram;
isObject >> clust1.processor_speed;
isObject >> clust1.hd_storage;
isObject >> clust1.num_cores;
isObject >> clust1.num_of_comps;
return isObject;
}
cluster operator+(const computers& comp1, const computers& comp2)
{
cluster mrcluster;
mrcluster.ram = comp1.ram+comp2.ram;
mrcluster.processor_speed = comp1.processor_speed+comp2.processor_speed;
mrcluster.num_cores = comp1.num_cores+comp2.num_cores;
mrcluster.hd_storage = comp1.hd_storage+comp2.hd_storage;
return mrcluster;
}
int main()
{
laptop laptop1;
desktop desktop1;
desktop desktop2;
cluster mycluster = laptop1+desktop1+desktop2;
system("pause");
}
#包括
使用名称空间std;
类计算机{
公众:
内存;
双处理器速度;
int num_核;
int hd_存储;
计算机();
};
计算机::计算机()
{
ram=0;
处理器速度=0;
核数=0;
hd_存储=0;
}
类桌面:公共计算机{
公众:
布尔哈斯监视器;
双显示器尺寸;
桌面();
friend istream&operator>>(istream&isObject、桌面和桌面1);
};
桌面::桌面()
{
hasMonitor=true;
监视器大小=0;
}
istream和operator>>(istream和isObject、桌面和桌面1)
{
isObject>>desk1.hasMonitor;
isObject>>desk1.monitor\u大小;
isObject>>desk1.ram;
isObject>>desk1.0处理器速度;
isObject>>desk1.hd_存储;
isObject>>desk1.num_内核;
if(desk1.hasMonitor==0)
desk1.hasMonitor=false;
返回等对象;
}
类别手提电脑:公共电脑{
公众:
int屏幕尺寸;
笔记本电脑();
friend istream&operator>>(istream&isObject、笔记本电脑和lap1);
};
笔记本电脑::笔记本电脑()
{
屏幕大小=0;
}
istream和操作员>>(istream和iObject、笔记本电脑和lap1)
{
isObject>>lap1.ram;
isObject>>lap1.0处理器速度;
isObject>>lap1.hd_存储;
isObject>>lap1.num_岩芯;
isObject>>lap1.0屏幕尺寸;
返回等对象;
}
类别群集:公共计算机{
公众:
公司的内部数量;
friend istream&operator>>(istream&isObject、cluster&clust1);
簇();
};
cluster::cluster()
{
组件的数量=0;
}
istream&operator>>(istream&isObject、集群&集群1)
{
isObject>>clust1.ram;
isObject>>集群1.处理器速度;
isObject>>clust1.hd_存储;
isObject>>包含1.num_个岩芯;
isObject>>clust1.num of_comps;
返回等对象;
}
群集操作员+(常量计算机和组件1、常量计算机和组件2)
{
集群mrcluster;
mrcluster.ram=comp1.ram+comp2.ram;
mrcluster.processor\u speed=comp1.processor\u speed+comp2.processor\u speed;
mrcluster.num_cores=comp1.num_cores+comp2.num_cores;
mrcluster.hd_storage=comp1.hd_storage+comp2.hd_storage;
返回mrcluster;
}
int main()
{
笔记本电脑笔记本电脑1;
桌面桌面1;
桌面桌面2;
cluster mycluster=laptop1+desktop1+desktop2;
系统(“暂停”);
}
您没有要求在主功能中输入任何内容main
是程序的入口点,因此任何需要执行的操作都必须从那里开始(例如,请求输入的函数调用)。您需要执行cin>>laptop1
顺便说一句,我会称您的基类计算机为非计算机是否有错误?你看到什么(或没有看到什么)表明出了问题?没有错误。它应该给我一个选项,为desktop1 desktop2 laptop1 etcIm输入hasMonitor…等,这是一个非常新的选项,我不太熟悉类等,但是对于重载的>>,我会调用什么函数呢?cin>>laptop1
将调用操作员>>(ostream&,laptop&)
函数,用您要查找的数据填充laptop1
。