0
私はそれを継承したクラスEspressoでメソッドgetDescription()をオーバーロードしようとしていますが、main()で呼び出すとUnknown Beverageがリストされ、Espressoクラスのデフォルトコンストラクタが呼び出されていないようです。継承されたEspressoクラスのオーバーライドされたメソッド(getDescription)がデフォルトのコンストラクタで認識されないのはなぜですか?
この拡張クラスを使用してmain()からエスプレッソコーヒーを印刷したいと思います。
class Beverage
{
string description;
public:
Beverage() : description("Unknown Beverage"){};
string getDescription() { return description; };
};
class Espresso : public Beverage
{
public:
Espresso() { getDescription() = "Espresso Coffee"; };
~Espresso();
};
int main()
{
Beverage *beverage = new Espresso();
cout << beverage->getDescription();
};