クラス継承に起因するエラー:エラーC2259 以下のメンバが原因で抽象クラスをインスタンス化できない。
2022-02-25 18:44:10
CControlBar を継承した新しいクラスは、エラー C2259 でコンパイルされます: 'CTestDockBar' : cannot instantiate abstract class due to following members:
エラーの原因
実装クラスが抽象ベースクラスを継承しているが、抽象ベースクラスのメソッドをすべて実装していない。
解決策
//親クラスの抽象メソッドを実装する
virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler);
void CTestDockBar::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler)
{
CWnd::UpdateDialogControls(pTarget, bDisableIfNoHndler);
}
抽象ベースクラスのメソッドを完全に実装する必要があります...
付録
http://www.cnblogs.com/shenfx318/archive/2007/01/25/630760.html (抽象基底クラスとインターフェースの選択と違い)
http://www.cnblogs.com/TravelingLight/archive/2010/06/02/1750073.html (抽象基底クラスに関するいくつかの問題点)
http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Companion/cxx_crib/interfaces.html
(OOの概念と抽象クラス、インターフェース)
関連
-
[解決済み】Eclipse IDEでC++エラー「nullptrはこのスコープで宣言されていません」が発生する件
-
[解決済み】文字列を行末までchar単位で読み込む C/C++【重複
-
[解決済み] 以下のコードでバスエラーが発生します。
-
[解決済み] .h.gchファイルとは何ですか?
-
[解決済み] pch.h "とは何ですか?また、なぜ最初のヘッダーファイルとして含める必要があるのですか?
-
[解決済み] C++のマップ値を印刷するにはどうすればよいですか?
-
[解決済み] template <class ItemType>?
-
[解決済み] 式はクラス型を持つ必要があります。- クラスオブジェクトのベクトル
-
[解決済み] std::string から QString への変換
-
[解決済み] C++の論理XOR演算子?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] C++ 構造体を削除する方法は?
-
[解決済み] C++ LPDWORDの正しい使い方
-
[解決済み] ベクトルを最小と最大にクランプする?
-
[解決済み] 不明な型名文字列 C++
-
[解決済み] ランダムなブール値を生成する
-
[解決済み] 警告: 文字列リテラルから 'char *' への変換は非推奨です。
-
[解決済み] プロセスは255 (0xff) コードブロックを返しました [閉鎖]。
-
[解決済み] GCCで「文字列定数から'char*'`への非推奨の変換」という警告を消すにはどうしたらいいですか?
-
C++のfstreamの説明
-
[解決済み] C++でアンパサンド(&)記号はどのように機能するのでしょうか?重複