タグ

ブックマーク / www.kishiro.com (2)

  • プログラミング・ノウハウ

    プログラミング・ノウハウ C CのコードからC++のコードを利用する 「inline」指定ができない環境でのインライン展開 関数ポインタを利用して呼び出す関数を動的に変更する 変数名が衝突したときの振る舞いについて 符号なし型⇔符号あり型をキャストするときの注意 ダウンシフト演算子「>>」の振る舞いについて C++ C++のコードからCのコードを利用する サブクラスのコンストラクタからスーパークラスのコンストラクタを指定して呼び出す スーパークラスのポインタをサブクラスのポインタにキャストする クラス変数(static変数)を定義する際の注意点 インナークラスの定義とその利用方法 ローカル変数でクラスを実体宣言した場合のインスタンスのライフサイクル Read accessorを定義/実装する際に便利なconst宣言 Java オーバーライドしても動的バインドされないprivateメソッド

  • 【C++】スーパークラスのポインタをサブクラスのポインタにキャストする

    はじめに オブジェクト指向の多態性を多用したプログラミングでは、サブクラスのインスタンスをスーパークラスのポインタ型に格納して扱うことが一般的ですが、プログラム中でサブクラス固有のメンバー変数やメソッドを呼び出すために、スーパークラスのポインタをサブクラスのポインタにキャスト(ダウンキャスト)しなくてはならない場合があります。 ここでは、このダウンキャストを安全に行う方法について説明します。 「dynamic_cast」テンプレートの利用 通常のポインタ同士のキャストでは、ポインタがメモリアドレスそのものである為に、その中に格納されたデータが何なのかの精査までは行われません。 (キャスト元のポインタがNULLでなければ、キャスト後のポインタもNULLにはなりません。) スーパークラスのポインタの先に、スーパークラスのインスタンスが格納されていて、これをサブクラスのポインタにキャストしたいが

  • 1