这是我的第一个问题。 我会尽快解释我的问题。 我想要做的是我需要一个默认值和一个重载的构造函数。我正在创建一个程序来存储PC的系统规格。我需要获取要在程序中输入多少计算机规格。我在程序中最多可以有5个系统规格,因此,如果用户要输入2个系统规格,则应调用复制构造函数两次。我被困在for循环中,找不到要放在复制构造函数中的变量。任何帮助都会很棒。谢谢。
#include <iostream>
#include <string>
using namespace std;
class Computer{
private:
string os;
int storage;
int memory;
public:
Computer(){
os = "FreeDOS PC";
storage = 500;
memory = 4;
}
Computer(){ // This is my copy constructor. What should i type in here?
setOs();
setStorage();
setMemory();
}
// Set functions prototypes below.
void setOs();
void setStorage();
void setMemory();
// Get functions prototypes.
string getOs();
int getStorage();
int getMemory();
};
// Get functions below.
string Computer::getOs(){
return os;
}
int Computer::getStorage(){
return storage;
}
int Computer::getMemory(){
return memory;
}
// Set functions below.
void Computer::setOs(){
cin>>os;
}
void Computer::setStorage(){
cin>>storage;
}
void Computer::setMemory(){
cin>>memory;
}
// Main function.
int main()
{
int num;
cout<<"How many computers you want to specify? ";
cin>>num;
Computer arr[5];
for(int i = 0 ; i < num ; i++)
{
cout<<"Enter specifications for PC #"<<i+1<<" : ";
}
}
答案 0 :(得分:-3)
这是复制构造函数的正确语法:
Computer (const Computer & oldcomputer ){}
甚至没有两个默认的构造函数。