C++相談室 part19
■ このスレッドは過去ログ倉庫に格納されています
0694デフォルトの名無しさん
NGNG基底クラスのインスタンスを渡しているのに、派生クラスにキャストすると
派生クラスのメンバ関数foo2が呼べるのはなぜですか?(最初は落ちるかと思ったんだけど…)
#include <iostream>
class A {
};
class B : public A {
public:
void foo(A* a) {
B *b = static_cast<B*>(a);
b->foo2();
}
void foo2() {
std::cout << "B::hoge()" << std::endl;
}
};
int main(int argc, char* argv[]) {
A a;
B b;
b.foo(&a);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています