C++在class A类里声明typedef structint AAS在class B类里调用AA
需要通过A类的作用域来访问AA,具体步骤如下:
- 在B类中包含A类的头文件,可以使用 #include "A.h" 的方式。
- 在B类中使用A::S来访问S结构体,然后使用S::AA来访问AA成员。具体代码如下:
#include "A.h"
class B {
public:
void foo() {
A::S s;
s.AA = 10;
std::cout << s.AA << std::endl;
}
};
注意,需要保证A类中的S结构体是public才能在B类中访问。另外,建议使用命名空间来避免命名冲突。例如,在A类中可以这样声明:
namespace MyNamespace {
typedef struct { int AA; } S;
class A {
public:
// ...
};
}
然后在B类中使用 MyNamespace::S::AA 来访问AA成员。
原文地址: https://www.cveoy.top/t/topic/gBhp 著作权归作者所有。请勿转载和采集!