C ++:如何访问内部类的方法?

m0bi5

我当时正在classes考虑做嵌套类,所以我有下面的类声明。

class myClass {
    public:
        void method1() {
            cout << "This is method 1" << endl;
        }
        class myClass2 {
            void method2() {
                cout << "This is method 2" << endl;
            }
        };
};

如您所见,其中myClass有一个方法method2。下面的代码工作得很好,并为我提供了所需的输出。

myClass obj;
obj.method1();

但是当我尝试这个:

obj.method2();

我收到错误消息method2 is not a member of myClass

问题:

  1. 为什么我不能访问方法“ method2 from objects of classmyClass”?
  2. 有访问的方法method2吗?

对于第二个问题,我想创建类的一个对象myClass2myClass,然后再拍功能myClass访问的method2功能。

我想知道是否还有其他出路,因为我的出路似乎有些痛苦。

juanchopanza

1)因为Class2()不是的成员myClass

2)您需要实例化一个myClass::myClass2对象并在其上调用成员。myClass2::Class2()是成员函数,因此需要一个对象来对其进行操作。例如

myClass::myClass2 obj;
obj.Class2();

请注意,这要求您成为myClass2::Class2()公共成员。它在您的代码中是私有的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章