#ifndef TEST_H
#define TEST_H
#include <iostream>
#include <string>
class A{
public:
virtual void test1() = 0;
virtual std::string test2() = 0;
};
class B : public A{
public:
void test1(){
std::cout << A::test2() << " World";
}
};
class C : public B{
public:
std::string test2(){
return "hello";
}
};
class C1 : public B{
public:
std::string test2(){
return "Sup";
}
};
#endif // TEST_H
純粋な仮想メソッドのみを持つインターフェイス A があります。実装して実装するためtest1
に使用したい抽象クラスがあります。test2
test1
現在、C と C1、および実装する具体的なクラスtest2
でもstd::cout << A::test2() << " World";
B級は無理
エラー: オブジェクトなしでメンバー関数 'virtual std::string A::test2()' を呼び出すことはできません
C ++でこのようなことを行うにはどうすればよいですか?