【发布时间】:2026-01-26 06:50:01
【问题描述】:
我正在通过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。
问题:
- 为什么我不能访问方法'method2
from objects of classmyClass`? - 有没有办法访问
method2?
对于问题2,我想在myClass中创建一个myClass2类的对象,然后在myClass中创建另一个函数来访问method2函数。
我想知道有没有其他出路,因为我的方式似乎有点痛苦。
【问题讨论】:
-
嵌套类如何“开箱即用”?
-
@Happy 开心吗?我根据你的喜好编辑了 :)
-
SO 上的很多人都有些刻薄、投反对票的问题,因为您问的问题不够完美。他们应该只留下评论并告诉您解决问题。
-
@einpoklum:这是对你投票权的滥用。您应该对内容进行投票,而不是对其他人的投票。你已经明确表示你没有这样做。简而言之,“撤销”他人的投票权不是你的工作。话虽如此,我也无法理解这种情况下的反对意见。
-
@einpoklum:哦,你最后的评论是错误。投票机制的存在是有原因的。如果没有人投反对票,那有什么意义呢?我们将如何排列问题?我们能做到这一点很好。不过,在这种情况下,它似乎又被打破了,因为这个问题从来都不是特别糟糕。虽然我不确定我是否能看到它帮助其他任何人,这可能是问题所在。
标签: c++ function class inner-classes