需要通过A类的作用域来访问AA,具体步骤如下:

  1. 在B类中包含A类的头文件,可以使用 #include "A.h" 的方式。
  2. 在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成员。

C++在class A类里声明typedef structint AAS在class B类里调用AA

原文地址: https://www.cveoy.top/t/topic/gBhp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录