0

コードの動作がよくわからない質問 (宿題の一部) があります。

関数「A」を所有するを取得しましたclass Father。関数「A」は「Hello Father」を出力します。関数「A」を所有していない
2番目のクラス -> を取得しました。「こんにちは孫」を出力する関数「A」を所有 する3番目のクラス -> を取得しました。class son:public Father
class grandson:public son

関数「A」は仮想ではありません。コンパイル エラーは無視してください。ここに 80 行のコードを書きたくありませんでした。

私は別の機能を持っています:

void justPrint(const son& a) {
   a.A;
}

さて、次の呼び出しで何が出力されますか:

grandson jeff;
justPrint(jeff);

私は少し混乱しています。息子は印刷関数 (A) を持っていないので、Father::A (息子は父親です..) を呼び出すと仮定します
が、息子を受け取る関数に jeff (孫) を送ります。 .そして孫は息子..

印刷されると思います

"こんにちは、お父さん"

しかし、私はとても混乱しています...助けと説明を感謝します..

2番目に、次の呼び出しを行うとどうなりますか:

justPrint(1);
4

2 に答える 2

0
void justPrint(const son& a) {
   a.A;
}

justPrint(1); if Class son contains single argument constructor with int as i/p.It will call that .
于 2013-07-01T11:52:01.840 に答える