Note that there are some explanatory texts on larger screens.

plurals
  1. POcreate class via input from cin fetched with operator>>
    primarykey
    data
    text
    <p>My assignment I to create the following classes with the following data members / member functions.</p> <ul> <li>Computer <ul> <li>RAM (in GB).</li> <li>Processor Speed (in GHz).</li> <li># of Cores</li> <li>Hard Drive Storage Size (in GB).</li> <li>Print (Virtual Function)</li> </ul></li> <li>Desktop (inherits from Computer) <ul> <li>hasMonitor</li> <li>monitorSize (in Inches)</li> </ul></li> <li>Laptop (inherits from Computer) <ul> <li>screenSize</li> </ul></li> <li>Cluster (inherits from Computer)</li> <li>Number of computers</li> </ul> <p>I should add a virtual print function and take input for each desktop/laptop I have. Can someone help me with figuring out why its not taking any input for it?</p> <pre><code>#include &lt;iostream&gt; 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&amp; operator&gt;&gt;(istream&amp; isObject, desktop&amp; desk1); }; desktop::desktop() { hasMonitor=true; monitor_size=0; } istream&amp; operator&gt;&gt;(istream&amp; isObject, desktop&amp; desk1) { isObject&gt;&gt;desk1.hasMonitor; isObject&gt;&gt;desk1.monitor_size; isObject&gt;&gt;desk1.ram; isObject&gt;&gt;desk1.processor_speed; isObject&gt;&gt;desk1.hd_storage; isObject&gt;&gt;desk1.num_cores; if(desk1.hasMonitor==0) desk1.hasMonitor=false; return isObject; } class laptop:public computers{ public: int screen_size; laptop(); friend istream&amp; operator&gt;&gt;(istream&amp; isObject,laptop&amp; lap1); }; laptop::laptop() { screen_size=0; } istream&amp; operator&gt;&gt; (istream&amp; isObject, laptop&amp; lap1) { isObject&gt;&gt; lap1.ram; isObject&gt;&gt; lap1.processor_speed; isObject&gt;&gt; lap1.hd_storage; isObject&gt;&gt; lap1.num_cores; isObject&gt;&gt; lap1.screen_size; return isObject; } class cluster:public computers{ public: int num_of_comps; friend istream&amp; operator&gt;&gt;(istream&amp; isObject,cluster&amp; clust1); cluster(); }; cluster::cluster() { num_of_comps=0; } istream&amp; operator&gt;&gt;(istream&amp; isObject,cluster&amp; clust1) { isObject &gt;&gt; clust1.ram; isObject &gt;&gt; clust1.processor_speed; isObject &gt;&gt; clust1.hd_storage; isObject &gt;&gt; clust1.num_cores; isObject &gt;&gt; clust1.num_of_comps; return isObject; } cluster operator+(const computers&amp; comp1, const computers&amp; 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"); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload