C ++では、これはポインターで機能します
#include <iostream>
using namespace std;
struct Base {
virtual void base_method() {
cout << "this is the base\n";
}
};
struct Derived : public Base {
void base_method() {
cout << "this is the child\n";
}
};
void test(Base & b) {
b.base_method();
}
void test2(Base * b) {
b->base_method();
}
int main() {
Derived * d;
Derived & d1();
test2(d); //this works
test(d1); //this doesn't
return 0;
}
Child & c()
テスト関数に渡されたような参照で同じことができないのはなぜですか。ポインターと参照は同様に動作する傾向があるため、これを尋ねます