0

我已经在这个程序中工作了一段时间,但我就是做不到。这是给我的编程课的。

这是我正在(必须)处理的程序的一部分......

void AutoInventory::addCar()
{
if (count == list.length())
    list.changeSize(2* list.length());
count++;
cout <<"Enter the VIN: ";


cin >> VINnumber; // I get the same error when I try using the one in the public.
list[count] = c; // Error: identifier c is undefined
//list [next] = count;
count++;
cout << "Enter the make ";
cin >> make; // Error: identifier make is undefined
list[count] = c;
//list [next] = count;
count++;
cout<< "Enter the model ";
cin >> model;
list[count] = c;
//list [next] = count;
count++;
cout <<"Enter Year  ";
cin >> year;
list[count] = c;
//list [next] = count;
count++;
cout << "Car has been successfully added";

}

我基本上要做的是(在这个函数中),提示用户输入汽车的品牌、型号、年份,并将数据保存在“数组的下一个元素”(我不太确定是什么这意味着但我还没到那里,我仍然需要弄清楚第一部分)并打印出确认(显然没有任何错误哈哈!)

所以,我的问题是,我们如何使用已经在另一个文件中声明的变量并在这个文件中使用它。具体来说,Make、model、year 是在另一个文件的私有部分中声明的(我在这个文件中 #includeded)但是它给了我一个编译错误,说标识符 make、model 和 year 是未定义的。具有这些变量的文件是....

 #ifndef AUTOMOBILE_H
#define AUTOMOBILE_H

#include <string>
using namespace std;

class Automobile
{
public:
Automobile();
void setVIN(string v);
void setMake(string ma);
void setModel(string mo);
void setYear(int y);
string getVIN();
string getMake();
string getModel();
int getYear();
private:
string VINnumber;
string make;
string model;
int year;
};

#endif

如果有人可以让我知道如何在另一个文件中使用该变量。

对不起,如果这个问题违反了网站的规则,但我很绝望。

4

1 回答 1

0

具体来说,Make、model、year 是在另一个文件的私有部分中声明的......

如果类的成员变量是私有的,那么它们只能被它的成员函数访问(即使Automobile和之间有继承关系AutoInventory)。在您的示例中,只有Automobile类成员函数可以直接访问它们。

于 2013-05-07T20:49:47.333 回答