スレッド: [cppll_novice:0657] 継承元のクラスのポインタで子供の操作

スレッド

[cppll_novice:0657] 継承元のクラスのポインタで子供の操作

[ | ▲ / | ]
Subject:
[cppll_novice:0657] 継承元のクラスのポインタで子供の操作
From:
Furuyama Takahito <furuyama@...>
Date:
Tue, 07 Dec 2004 23:10:49 +0900
X-Mailer:
Becky! ver. 2.12.01 [ja]
Message-Id:
<20041207225503.FA63.FURUYAMA‐at‐wings.co.jp>
はじめまして。まえのっちと申します。

親クラスAを作り、それを継承して子供のクラスB,C,Dをつくり 操作しようと思っ
ていますが、
1.delete できれいにインスタンスが消えるかどうか
2.そもそもこのような使い方をして良いのか?
という所がわかりません。
申し訳ありませんが、教えてください。

-------------------------------------------
class A
{
public:
  A();
  virtual ~A();
  virtual int MethodA() = 0;
};

class B : public A
{
public:
  B();
  virtual ~B();
  virtual int MethodA(){
    return 0;
  };
};

int main()
{
  A* pB = new B;
  pB->MethodA();
  delete pB;
}

--
Maenotti

[cppll_novice:0658] Re: 継承元のクラスのポインタで子供の操作

[ | / | ]
Subject:
[cppll_novice:0658] Re: 継承元のクラスのポインタで子供の操作
From:
ゆーち <you-chi@...>
Date:
Tue, 07 Dec 2004 23:24:57 +0900
X-Mailer:
Becky! ver. 2.12.01 [ja]
Message-Id:
<20041207232453.F5FF.UCHIYAMA‐at‐seasoft.co.jp>
In-Reply-To:
657
References:
657
んばんは。

> 1.delete できれいにインスタンスが消えるかどうか
継承もとでデストラクタを virtual にしてるので、きれいに消えてくれます。

> 2.そもそもこのような使い方をして良いのか?
そんな使い方をするための仮装関数と仮想デストラクタです。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ Y.Uchiyama _/_/
_/private:
_/  HANDLE ゆーち;
_/  string mail = "mailto:you-chi@...";
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

[cppll_novice:0659] Re: 継承元のクラスのポインタで子供の操作

[ | / ▼ | ]
Subject:
[cppll_novice:0659] Re: 継承元のクラスのポインタで子供の操作
From:
Furuyama Takahito <furuyama@...>
Date:
Wed, 08 Dec 2004 00:18:15 +0900
X-Mailer:
Becky! ver. 2.12.01 [ja]
Message-Id:
<20041208001623.FA65.FURUYAMA‐at‐wings.co.jp>
In-Reply-To:
658
References:
657 658
こんばんわ。まえのっちと申します。

ありがとうございます。
みようみまねでやってみたので、ちょっと不安でした。
virtualについて深く勉強してみます。
ありがとうございました。

--
Maenotti

Navigation

検索

[検索ヘルプ]

Maintener: Tietew <www.tietew.jp>
Powered by Ruby on Rails, Mongrel, PostgreSQL, and Hyper Estraier.
click here