gpt4 book ai didi

c++ - 使用另一个类的结构

转载 作者:行者123 更新时间:2023-11-28 07:07:45 25 4
gpt4 key购买 nike

我在执行程序的过程中遇到了一个小问题。有没有办法使用在另一个类中声明的结构?

Example

Class A{
struct personA
{
char name[MAX];
char nationality[MAX];
}

void addPersonA(fstream, int, personA);
}

Class B{
struct personB
{
char nameB[MAX];
char nationalityB[MAX];
}

void addPersonB(fstream, int, personB);
}

//Class A.CPP
Class_A
{

int choice;

cin >> choice;

if(choice == 1)
{
personA a;
addPersonA(afile, num, a);

}

else
{

personB b; // how do i include this part?

addPersonB(afile, num, b); // this part error. b is not defined.

}

}

问题是 personB 没有在范围内声明。

Class_A.cpp 的头文件包含以下内容

#include "Class_A.h" 
#include "Class_B.h"

最佳答案

你需要公开personA:

class A
{
public:

struct personA
{
char name[MAX];
char nationality[MAX];
}

void addPersonA(fstream, int, personA);
}

要访问子类/结构,您需要使用完全限定名称:

if(choice == 1)
{
A::personA a;
addPersonA(afile, num, a);
}

关于c++ - 使用另一个类的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21512560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com