山口屋~活動日誌~

私生活で主な出来事をピックアップ

C++ C# 比較 演算子 ポインタ インスタンス ソート 検索 ポリモーフィズム

2024-02-04 15:58:28 | ソフトウェア開発
<C++やC#など、オブジェクト指向言語で、演算子、メソッド、どちらを使って比較するか>
演算子はオーバーロード、メソッドはオーバーライド、ということがポイント。
★演算子はオーバーロードなので、アップキャストすると基底クラスのものしか呼び出されない。
★メソッドはオーバーライドなので、アップキャストしてもスーパークラスのものが呼び出される。
.NET Tips (VB.NET,C#...):2つの値が等しいか調べる、等値演算子(==)とEqualsメソッドの違い

<ポリモーフィズム(特にC++)>
実現するならクラスはポインタ型で一択。
Theoride Technology:実践C++入門講座 第27回目 オジブェクト指向の3大特長の3つ目「動的ポリモーフィズム」-補足-
コピーコンストラクタは protected で定義し、仮想メンバ関数 clone() 等のみ使用可能とする。
オージス総研:オブジェクトの広場 C++ クラス設計に関するノート
格納には便利だが、継承クラスにはあるであろう独自のメソッドやフィールドへの対応は厄介がいろいろ。
negationの日記:C++でのポリモーフィズムと継承と、コード保守性
C++で実行コストを気にするなら、ダウンキャストが安全に行える確証を持てるようきちんと設計してstatic_cast、そうでなければdynamic_cast、といったところか。
Programming Place Plus:C++編【言語解説】 第31章 RTTI

<C++でポインタ型をalgorithmライブラリでソートや検索をするにはどうしたらよいか>
静的メソッドにおいて、参照型引数のままで値型をポインタ型に書き換える。
目指せプログラマー!:7章:STL
魂の記憶:【C++】独自に定義したクラス型ポインタを保有するlistのソート方法に関するメモ
なんとな~くしあわせ?の日記:vector<クラス>をソートしたいとき
minus9d's diary:C++で構造体をソートする4つの方法(おまけあり)
でも今日はSRMあるから:C++の関数オブジェクトが関数よりどれだけ速いか
オブジェクトの広場:C++ クラス設計に関するノート

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« in-class initializer のある... | トップ | Windows Update 非表示 wusho... »
最新の画像もっと見る

コメントを投稿

ソフトウェア開発」カテゴリの最新記事