別のクラスが派生したクラスをインスタンス化する必要がありますか?
そうしない場合でも、次の例のように、とにかくそのメソッドにアクセスできます。
#include <iostream>
struct Class1 {
public:
void func();
};
struct Class2 : public Class1 {
// Class1 c1; <-- is this necessary?
};
void Class1::func(){
std::cout << "function called" << std::endl;
}
int main() {
Class2 c2;
c2.func();
}
期待される を取得しfunction called
ます。
しかし、いくつかの例では、基本クラスが派生クラスでインスタンス化されていることがわかります: Class1 c1;
. それはなんのためですか?