純粋な仮想メソッドを以下のコードのように使用します。なぜこの純粋な仮想メソッドはコンパイルされませんか?
#include <iostream>
using namespace std;
class Advertisment
{
public:
vitual void price (int Uchrg, int no_of_unt) = 0;
{
}
};
class TVadvertisment : public Advertisment
{
public:
void price (int Uchrg, int no_of_unt)
{
int adPrice = Uchrg * no_of_unt;
cout << "Advertisment Price: " << adPrice;
}
};
int main()
{
TVadvertisment T;
T.price(1000, 60);
return 0;
}
純粋な仮想関数はvirtual void display() = 0;
と宣言されています。しかしコード::ブロックコンパイラは、= 0
のためにエラーを表示します。それがなければ、正常にコンパイルされます。
また、派生クラスのメソッドを呼び出すためのポインタも使用しませんでした。
あなた自身の質問に[mcve] *を提供するようにあなたの質問を編集してください。 –
_私は以下のようにPure Virtualを使用しています。 **質問に関連するすべてのコードをコピーして**貼り付けます。 –
テキストの画像をリンクしないでください。関連情報をコピーしてあなたの質問に貼り付けてください。 – Rook