• ベストアンサー

関数に0を代入??

研究に使うため,C言語のプログラムを読んでいます. 下記のようなプログラムがあるのですが,関数のプロトタイプに0を代入しています,この部分が意味が分からないので,どなたか分かる人がいたら教えてください. class CLASS{ public: virtual void setVar (std::string& rcValue) = 0; }; void ConfigLineChar::setVar( std::string& pvValue ) { *m_pcPar = (Char)atoi( pvValue.c_str() ); } 不必要な部分は削除して書いています.

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

 こんにちは。  純粋仮想関数の事なのでは。  少なくとも、一つでも其れが付くと抽象クラスとして扱われ、CLASS自体のインスタンスを作成出来なくなり、派生クラス先でその関数をオーバーライドしないといけなくなる筈です。    http://www.bohyoh.com/CandCPP/FAQ/FAQ00078.html    ×この様に作成出来なくなる  CLASS cls();  cls.setVar("value");  ×これも出来ない  CLASS* pCls = new CLASS();  pCls->setVar("value");  ○この様にして使う  CLASS* pCls = new ConfigLineChar();  pCls->setVar("value");

sorokuku
質問者

お礼

ご解答ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

純粋仮想関数で調べてみてください。 オブジェクト指向言語を学ぶ上では基本になります。

sorokuku
質問者

お礼

ご回答ありがとうございます 純粋仮想関数を勉強してみます

すると、全ての回答が全文表示されます。

関連するQ&A