假设我们正在通过创建类AddressBook来制作地址簿。我们在课堂上放了各种工具,包括添加成员的选项。如果我们使用结构来跟踪每个人的信息,它将如下所示:
class AddressBook {
public:
AddressBook()
{
count = 0;
}
void AddPerson();
//More functions..
struct Entry_Structure
{
char firstName[15];
char lastName[15];
char idNumber[15];
};
Entry_Structure entries[100];
unsigned int count;
};
然后我们可以为AddPerson函数编写以下内容:
void AddressBook::AddPerson()
{
cout << "Entry number " << (count + 1) << " : " << endl;
cout << "Enter subject's first and last name: ";
cin >> entries[count].firstName >> entries[count].lastName;
cout << "Please enter the subject's ID number: ";
cin >> entries[count].idNumber;
++count;
}
但是,我没有使用结构代替Entry_Structure
,而是使用类。
即class Entry_Structure
而不是struct Entry_Structure
。
我需要在程序和以下功能中进行哪些更改才能使其正常工作?
答案 0 :(得分:3)
class
和struct
之间唯一的实际区别在于,默认情况下,班级成员为private
,而struct
成员是公开的。
所以:
struct Entry_Structure
{
char firstName[15];
char lastName[15];
char idNumber[15];
};
相当于:
class Entry_Structure
{
public:
char firstName[15];
char lastName[15];
char idNumber[15];
};