C++を使っていて「プロパティがあれば便利だ」と思うことはなくはない。
メンバの型として、型Tの代入と型Tへのキャストしかできない内部無名クラスを定義すれば、ほぼほぼ型Tのプロパティになる。
もちろんポインタを取得したりはできない。C++にはポインタがあるから「実体はメンバ変数ではないけどメンバ変数と全く同じように振る舞うもの」というのは作れないのだと思う。
#include <iostream>
static int quatsch;
class Tonteria
{
public:
class
{
public:
int operator = (int i)
{
quatsch = i;
return quatsch;
}
operator int ()
{
return quatsch;
}
} x;
};
int main(int argc, char * * argv)
{
Tonteria q;
q.x = 123;
std::cout << q.x << std::endl;
return 0;
}