class Transaction {
public:
Transaction() { logTransaction(); };
virtual void logTransaction() { cout << "Transaction" << endl; };
virtual void logTransaction() const { cout << "const Transaction" << endl; };
};
class BuyTransaction : public Transaction {
public:
BuyTransaction() { logTransaction(); };
void logTransaction() { cout << "Buy" << endl; };
void logTransaction() const { cout << "const Buy" << endl; };
};
int main()
{
const BuyTransaction b;
return 0;
}
と書いた場合、基底&派生クラスともに非constな logTransaction()が呼ばれてしまいます。
const、非constオブジェクトの生成に関して処理を分けることは出来ないのでしょうか?
VS2015 VC++ と Mingw64 g++ 5.3.0 とも同じ動作になりました。