C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

仮想関数と抽象クラスに関するC++インタビューの質問


仮想関数とは何ですか?

仮想関数は、基本クラスで定義されたときに定義がないメソッドです。このメソッドは親クラスでは黒のままで、子クラスで再定義されます。

抽象クラスとは何ですか?

抽象クラスは、その定義に抽象メンバーまたは少なくとも1つの純粋仮想関数を持つクラスです。抽象クラスをインスタンス化する(オブジェクトを作成する)ことはできません。継承することしかできず、メソッドを上書きすることができます。

仮想デストラクタはありますか?

はい、これらはC ++では有効ですが、これらは子クラスではなく基本クラス用のデストラクタです。

すべての仮想関数をオーバーライドする必要がありますか?

いいえ、仮想関数を再定義することは必ずしも必須ではありません。基本クラスのまま使用できます。

コンストラクターを仮想として使用できますか?

コンストラクターはクラスで定義する必要があるため、仮想にすることはできません。


  1. C++のクラスとオブジェクト

    クラスは、オブジェクト指向の概念をサポートし、ユーザー定義のデータ型であるため、C++の主要な機能です。クラスはオブジェクトの仕様を提供し、データ変数と、単一のパッケージでデータを操作するための関数を含みます。 クラス定義 クラス定義は、キーワードclassで始まり、次にクラス名で始まります。その後、クラス本体が定義されます。中括弧で囲まれています。クラス定義には、セミコロンまたはその後の定義のリストが含まれている必要があります。 C++でのクラス定義の例は次のとおりです。 class student {    int rollno;    char

  2. C++でのフレンドクラスと関数

    クラスのフレンド関数はそのクラスのスコープ外で定義されていますが、クラスのすべてのプライベートメンバーと保護されたメンバーにアクセスする権利があります。フレンド関数のプロトタイプはクラス定義に表示されますが、フレンドはメンバー関数ではありません。 フレンドは、関数、関数テンプレート、メンバー関数、またはクラスまたはクラステンプレートにすることができます。この場合、クラス全体とそのすべてのメンバーがフレンドになります。 関数をクラスのフレンドとして宣言するには、次のように、クラス定義の関数プロトタイプの前にキーワードfriendを付けます- class Box { double width;