c++ - 如何访问在另一个类中声明的类?

标签 c++ class

我有一个简单的类:

class cup{
public:
     cup();
     void drinkwater(water *t); // error occurs here
private:
     class water{
     public:
          int litres;
     };
};

但是我收到一条错误消息,指出“水”尚未声明。有没有什么办法不用把水课放在外面就可以上课?

最佳答案

drinkwater 定义之上的私有(private)部分中转发声明 class water;,例如

class cup{
    class water;
public:
     cup();
     void drinkwater(water *t); // error occurs here
private:
     class water{
     public:
          int litres;
     };
};

关于c++ - 如何访问在另一个类中声明的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32685008/

相关文章:

java - 不能在不覆盖的情况下对 child 使用父方法?

php - 如何将多个值传递给类?

c++ - 关于迭代器和泛型函数的考试题

c++ - QProcess:execute 阻止整个应用程序

c++ - 如何在 cygwin 中编译使用 std::thread 的简单 C++ 程序?

c++ - 包装 boost::geometry::Point 访问器的 Cythonic 方式

c++ - 使用复制构造函数后 SDL 纹理不渲染

c# - 是还是不是?我可以在不同的程序集中划分接口(interface)和实现类吗?

c++ - 如何使用类c++的线程成员变量

class - Delphi:将数据存储在类与记录中,减少内存使用