C++相談室 part15
■ このスレッドは過去ログ倉庫に格納されています
0797792です。 ◆ZtXjKqCmiQ
NGNG#include <iostream>
using namespace std;
class j {
public:
int a;
int & operator*() { cout << "[*(j)]"; return a; }
int * operator->() { cout << "[->(j)]"; return &(operator*()); }
};
class d {
public:
j a;
j & operator*() { cout << "[*(d)]"; return a; }
j * operator->() { cout << "[->(d)]"; return &(operator*()); }
};
void main() {
d *n = new d();
n->a.a = 102;
cout << "@ (*n)-> = " << (*n)->a << endl;
}
としたところ
@ (*n)-> = [->(d)][*(d)]102
となり class d の -> は呼ばれましたが class j の -> を呼ぶ方法はないのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています