[解決済み] C++でインターフェイスを宣言するには?
2022-03-18 03:34:22
質問
インターフェイスを表すクラスはどのように設定するのですか? これは単なる抽象的な基底クラスなのでしょうか?
どのように解決するのですか?
による回答を展開する。 ブラッドグマーレイ この場合、インターフェイスの純粋な仮想メソッドリストに、仮想デストラクタを追加することで、1つの例外を作りたいと思うかもしれません。これによって、具象派生クラスを公開することなく、ポインタの所有権を他の人に渡すことができます。インターフェイスは具象メンバを持たないので、デストラクタは何もする必要がありません。関数をvirtualとinlineの両方で定義するのは矛盾しているように見えるかもしれませんが、そうではありません。
class IDemo
{
public:
virtual ~IDemo() {}
virtual void OverrideMe() = 0;
};
class Parent
{
public:
virtual ~Parent();
};
class Child : public Parent, public IDemo
{
public:
virtual void OverrideMe()
{
//do stuff
}
};
コンパイラによっては、空のデストラクタを最適化するのが面倒な場合があります。
関連
-
[解決済み】coutはstdのメンバではない
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] C#でベースコンストラクタを呼び出す
-
[解決済み] インターフェースと抽象クラス(一般的なOO)
-
[解決済み] インターフェースとベースクラス
-
[解決済み] いつ使うか。Java 8+のインターフェイスのデフォルトメソッドと、抽象的なメソッドの比較
-
[解決済み] Pythonにおける抽象クラスとインターフェースの違い
-
[解決済み] 抽象クラスの代わりにインターフェイスを使用する場合とその逆は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Visual Studio 2015で「非標準の構文。'&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み】'std::cout'への未定義の参照
-
[解決済み] C++でインターフェイスを実装するには?重複
-
[解決済み】vtableへの未定義の参照