Написать Коментарии К Коду
Добавлено: 07 май 2013, 19:10
Код: Выделить всё
#include <iostream>
class S {
public:
virtual int get() = 0;};
class A1 : public S {
public:
virtual int get() {
return a1;
}
private:
int a1;
};
class A2 : public A1 {
public:
virtual int get() {
return a2;
}
private:
int a2;
};
int main() {
A1 *a1 = new A1();
A1 *a2 = new A2();
A2 *test = 0;
test = dynamic_cast< A2 * >( a1 );
if ( test != 0 )
std::cout << "a1 is A2 object" << std::endl;
else
std::cout << "a1 is not A2 object" << std::endl;
test = dynamic_cast< A2 * >( a2 );
if ( test != 0 )
std::cout << "a2 is A2 object" << std::endl;
else
std::cout << "a2 is not A2 object" << std::endl;
system("pause");
return 0;}