Лучшая практика передачи частных членов базового класса унаследованному классу в конструкторе класса по ссылкеC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Лучшая практика передачи частных членов базового класса унаследованному классу в конструкторе класса по ссылке

Сообщение Anonymous »

Я выполняю обучающее задание. У меня есть два класса: базовый порт и унаследованный VintagePort. Я не знаю, как лучше всего получить частные члены базового класса, когда я передаю конструктору производного класса ссылку на объект производного класса. Написать в базовом классе geter? В Интернете много разной информации на эту тему.
Конструктор:

Код: Выделить всё

VintagePort(const VintagePort& vp) {

};
.h файл

Код: Выделить всё

#pragma once
#include 

using std::string;

class Port {
private:
string brand;
string style;
int bottles;
public:
Port(string br = "None", string st = "None", int b = 0) {
brand = br;
style = st;
bottles = b;
};
Port(const Port& p) {
brand = p.brand;
style = p.style;
bottles = p.bottles;
};
virtual ~Port() {};
Port& operator= (const Port& p) {
brand = p.brand;
style = p.style;
bottles = p.bottles;
};
Port& operator +=(int b) {
bottles += b;
};
Port& operator -=(int b) {
if (bottles > 0)
bottles -= b;
else
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79355667/best-practice-for-passing-private-members-of-a-base-class-to-an-inherited-class[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»