忍者ブログ

神戸電子専門学校ゲームソフト学科の生徒が運営するGESのブログです。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

第8回 C++講座 『閑話休題』

中原です。

今回は、これといった名前はないのですが、C++の機能について述べていこうと思います。
 

第8回 C++講座 『閑話休題』
 

拍手[0回]


派生クラスの実体(アドレス)を基底クラスのポインタに入れるが可能


class CBaseChara
{
//略
};

class CPlayer : public CBaseChara
{
//略
};


というクラスがあった場合

 CBaseChara* p = new CPlayer;

ということが可能です。
C言語では、同じ型のポインタにしかアドレスを入れることが出来ませんが、基底クラスのポインタに実体を入れることが出来ます

ただその場合、基底クラスのメソッド、フィールドしか呼び出すことは出来ません

例外的に 

 (CPlayer*)p->CPlayerのメソッド

のようにキャストしてあげれば可能ですが、安全性を考えれば、余りいい方法とはいえません。
(私は、製作でよくしていましたが…)

何に使えんねん!ということですが、前回の仮想関数と同様、ポリモフィズムのための必要知識と思ってください。

今日はこれでおわり!
とっても短いですね。
なんかもっと言いたいことがあったような気がするのですが、ど忘れしてしまいました…。

道具が揃ったため、次回でやっとポリモフィズムです。
更新は31日になると思います。

中原でした。

PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

TRACKBACK

Trackback URL:

ブログ内検索

最新コメント

[01/29 人面犬]
[10/01 8ch]
[09/12 uncle]
[09/10 某卒業生]
[06/07 uncle]

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

テスト

Copyright ©  -- GESブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]