#c #inheritance
#c #наследование
Вопрос:
Я просматривал этот фрагмент кода, и после выполнения я обнаружил, что все компилируется и выполняется нормально (для члена int-кода производного класса установлено значение 65). Однако мне было интересно, как можно получить доступ к члену кода символа производного класса?
#include <iostream>
using namespace std;
class base {
public:
base() : code('B') { }
char code;
};
class derived : public base
{
public:
int code;
};
int main(void)
{
derived d;
d.code = 65;
std::cout << d.code;
};
Ответ №1:
Указав правильную область видимости для базовой переменной-члена, используя поиск по определенному имени следующим образом:
d.base::code = 'x'
std::cout << d.base::code << 'n';
Для получения более подробной информации см. Этот раздел о поиске по определенному имени.