Получить ссылку на родительский класс

113
24 октября 2019, 05:20

Как воспользоваться конструктором копирования родительского класса в конструкторе копирования дочернего?

class A {
  int a;
public:
  A(const A & other) {
    a = other.a;
  }
};
class B : public A {
  int b;
public:
  B(const B & other) : A(/*what*/) {
    b = other.b;
  }
};
Answer 1

В вашем примере просто напрямую

B(const B & other) : A(other) {
  b = other.b;
}

Если бы в вашем классе A были еще какие-то конструкторы, которые приводили бы к неоднозначности такого вызова или к вызову неправильного конструктора, то пришлось бы выполнить явное приведение типа

B(const B & other) : A(static_cast<const A &>(other)) {
  b = other.b;
}

но в вашем случае в этом нет необходимости.

READ ALSO
Нужно перевернуть строку c++

Нужно перевернуть строку c++

С клавиатуры вводится строка символов, представляющая собой предложение со знаками препинания (точка, запятая, восклицательный знак)Вывести...

109
Преобразовать YCbCr в YCbCr jpeg?

Преобразовать YCbCr в YCbCr jpeg?

Я не могу понять пару вещей, и одно исходит из другого

112
Как залогиниться на сайт?

Как залогиниться на сайт?

Необходимо зайти на сайт oddsportalcom, чтобы в дальнейшем парсить его с помощью jsoup

122