から新しいオブジェクトを作成し、そのメソッドを呼び出すことで、メソッドa()
にアクセスしようとしています(新しい Foo オブジェクトを作成します)。次に、クラスにアクセスできる必要があるため、呼び出します。しかし、それは機能していません。誰でも理由を説明できますか?Foo
Foo
duplicate
duplicate
::a()
#include <iostream>
using std::cout;
class Foo {
public:
int a() { return 5; }
Foo *duplicate() {
return new Foo();
}
};
int main() {
Foo foo;
Foo *a = foo.duplicate()::a(); // should return 5
cout << a;
}