У меня есть небольшая проблема с этим кодом:Наследование C++ приведение к базовому типу
#include <iostream>
class A {
public:
void PrintA() {
std::cout << "A";
}
};
class B : public A {
public:
void PrintB() {
std::cout << "B";
}
};
int main() {
A a;
a.PrintA();
B b;
b.PrintA();
b.PrintB();
system("PAUSE");
}
Можете ли вы сказать мне, если существует способ определить в классе объект B и использовать его методы что-то вроде:
class A {
public:
void PrintA() {
std::cout << "A";
}
B bclass;
};
А использование в основной функции что-то вроде:
int main() {
A a;
a.bclass->PrintB();
system("PAUSE");
}
Нет, A не может содержать объект B, потому что B является производным от A, но может содержать указатель на один. –
Можете ли вы дать мне пример, пожалуйста, я пытаюсь найти в Google некоторые, но ничего не понимаю ... Как сделать этот указатель? – zVoxty
Здесь вы найдете множество примеров использования указателей: http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list –