C#/ Javaのような構文を誘導するために、前処理されたコマンドを介してC ++アクセス修飾子を再定義することの考えられる影響は何でしょうか?
#include <iostream>
// The access modifiers are redefined here.
#define public public:
#define protected protected:
#define private private:
class Halo
{
public Halo(int xx)
{
x = xx;
}
public int getX()
{
return x;
}
private int x;
};
int main()
{
Halo* halo = new Halo(3);
std::cout << halo->getX();
return 0;
}