如何在另一个类中使用结构?

时间:2014-02-06 07:17:55

标签: c++ class struct fstream

好的大家好,我目前的任务有问题

我有2个班级,即员工班级和gm班级。

在员工类中,我使用了一种结构,即

struct eInfo
{
    char username [80];
    char password [80];
    int eid;
};    

但是,在我的gm类中,我的函数依赖于employee类中的struct。例如,

void addEmployee(fstream&, int, eInfo&);
void delEmployee(fstream&, int, eInfo&);
void editEmployee(fstream&, int, eInfo&);

我想如何利用它?

我所尝试的是重新宣布

struct eInfo
{
    char username [80];
    char password [80];
    int eid;
};

在gm类中。但这不行。没有语法错误,但是当我使用

fstream afile; afile.open(“EmployeeInfo.dat”,ios :: in | ios :: out | ios :: binary);

该文件结果为空。

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果结构eInfoemploye内声明为,则当您在employe::eInfo之外时,应将其称为employe。如果您在gm内重新声明它,那么编译器会认为employe::eInfogm::eInfo是两个不同的类。

答案 1 :(得分:0)

在相应的头文件中声明eInfo,然后在gm类中包含该头文件。要创建结构,请使用此语法。变量名称只是您在创建结构时使用的填充程序。

eInfo myStruct = {theUsername, thePassword, theEid};