[過去ログ] スレを勃てるまでもないC/C++の質問はここで 24 [転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
926(1): デフォルトの名無しさん [sage] 2016/07/28(木) 12:07:53.88 ID:sTpn4H8D(1/2) AAS
>>925
たとえば fwrite() にしたって、呼び出した先では違う処理が動くというのはわかるよな?
fwrite_usbmemoryfile() とか、fwrite_ssdfile() なんてものがあったらいやすぎるだろう。
929(2): デフォルトの名無しさん [sage] 2016/07/28(木) 13:24:19.32 ID:UbVdigRT(2/4) AAS
皆様、レスありがとうございます。
せっかく解説してくださったのに、まだ理解できないようです。出来るの悪い子ですみませんorz
>>926
私の技量ではうまく言い表せないのですが‥
fwriteはバッファの内容をファイルに書き出すという動作において、プログラムからみれば
書き出し先がUSDでもSSDでも区別が必要ないと思います。
なので単一のfwriteでもOKかな‥と。
※強いて意識するのはfopen時だけですよね。
Action()はプログラムから処理内容を区別するので、本質が違うような気がします。
>>927
この「差し替え」は機能として理解できるのですが、
関数名から処理内容が一意に決まらなくなる‥という欠点が発生しますよね。
それが利点としてしっくりこないような…
それともオブジェクト名まで含めて判断する訓練を積めば克服できるものですかね?
先の例だとclock.Action()ならビープ、 baby.Action()なら笑う、みたいに。
Action()の処理内容が直感的に分かるオブジェクト名をつけないと、いちいち
クラス定義まで見返す手間がかえって増えそうな…
>>928
> という机上の空論で作られたのが仮想関数です
そう言われれば納得できるようなw
> 何かコールバックさせたいときに関数ポインタを隠蔽するために使う
> と理解しておけば十分であり、問題は起きないです
すみません。
初心者にはハードルが高いご解説なため、これからじっくり調べて考えて理解します…
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s