私は抽象基本クラスを定義し、その型の配列(明らかに派生クラスのインスタンスでいっぱい)を関数のパラメータとして渡したいのですが、コンパイラは私に怒鳴ります。何か案は?例えば抽象型配列を関数パラメータとして渡すにはどうすればよいですか?
(「テスト可能」は「Vecteur」はコンクリートである、抽象的である):
void Testeur::commencerTest(Testable testables[], int nTestables, string titre) {
cout << "\n" << titre << "\n";
for (int i=0; i < nTestables; i++) {
testables[i].afficher();
}
}
// in main function:
Vecteur v1 = Vecteur(1,2,3);
Vecteur v2 = Vecteur(4,5,6);
Vecteur vecteurs[] = { v1, v2 };
int nVecteurs = 2;
this->commencerTest(vecteurs, nVecteurs, "Some text");
コンパイラは、上記のコードの最初の行でinvalid abstract type ‘std::Testable’ for ‘testables’
言います。
どのように抽象型の配列を関数のパラメータとして渡すことができますか?
エラーメッセージは、あなたが 'std'名前空間の中で' Testable'を定義したことを意味しています... –
Testable –