Size: a a a

2021 February 26

ПК

Побитый Кирпич... in supapro.cxx
theadla
где можно достать стандарты си++? они ж платные. ISO International Standard ISO/IEC 14882:2020(E) – Programming Language C++
На торрентах
источник

VS

Vladimir Suisei in supapro.cxx
Вот у товарища вроде GetAll(), а по факту это какой-то PrintAll()
источник

K

Kirill in supapro.cxx
Vladimir Suisei
Я конечно не гений ООП но зачем нужны геттеры и сеттеры если можно просто сделать поле публичным, или возвращать ссылку?
инкапсуляция
источник

IG

Ivan Grechka in supapro.cxx
Условие все должно быть в приват
источник

IG

Ivan Grechka in supapro.cxx
Поля*
источник

IG

Ivan Grechka in supapro.cxx
Может я не правильно понял преподователя, ладно
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Я конечно не гений ООП но зачем нужны геттеры и сеттеры если можно просто сделать поле публичным, или возвращать ссылку?
Чтоб нельзя было как угодно поля менять, ломая инварианты
источник

VS

Vladimir Suisei in supapro.cxx
Kirill
инкапсуляция
Я считаю что чрезмерная инкапсуляция всего порой только усложняет. Посмотрите на языки где вообще нет приватных полей, и ничего, живут.
источник

ID

In Dev in supapro.cxx
Vladimir Suisei
Я считаю что чрезмерная инкапсуляция всего порой только усложняет. Посмотрите на языки где вообще нет приватных полей, и ничего, живут.
Лучше чрезмерная, чем никакой, особенно если это библиотечный код
источник

K

Kirill in supapro.cxx
Vladimir Suisei
Я считаю что чрезмерная инкапсуляция всего порой только усложняет. Посмотрите на языки где вообще нет приватных полей, и ничего, живут.
А некоторые языки вообще функциональные. Не перенимать же у них эту парадигму когда пишешь на C++
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Я считаю что чрезмерная инкапсуляция всего порой только усложняет. Посмотрите на языки где вообще нет приватных полей, и ничего, живут.
у абстракции "2D вектор" действительно не надо делать поля приватными. А у абстракции "Массив" ещё как надо, иначе можно будет менять размер в обход непосредственно массива
источник

VS

Vladimir Suisei in supapro.cxx
In Dev
Лучше чрезмерная, чем никакой, особенно если это библиотечный код
Напомните какие геттеры/сеттеры есть в stl
источник

ID

In Dev in supapro.cxx
Vladimir Suisei
Напомните какие геттеры/сеттеры есть в stl
std::string::size()
источник

ID

In Dev in supapro.cxx
Пожалуйста
источник

VS

Vladimir Suisei in supapro.cxx
In Dev
std::string::size()
С этим я ок, мне скорее не нравится соглашение писать везде getVariable setVariable
источник

ID

In Dev in supapro.cxx
Vladimir Suisei
С этим я ок, мне скорее не нравится соглашение писать везде getVariable setVariable
Ну это вкусовщина
источник

VS

Vladimir Suisei in supapro.cxx
Побитый Кирпич
у абстракции "2D вектор" действительно не надо делать поля приватными. А у абстракции "Массив" ещё как надо, иначе можно будет менять размер в обход непосредственно массива
Ну вот да, надо по ситуации смотреть, а не тупо все всегда делать максимально приватным
источник

AS

Anatoly Shirokov in supapro.cxx
Ivan Grechka
Вопрос.

Мне сказали сделать вместо 6 геттеров и сеттеров два метода, один гет один сет, впринципе понятно.Но проблема  в том, что раньше у меня к примеру был getName я мог к нему обратиться вот так  idk[slot].getName. Но сейчас выдает ошибку и понятно почему и вопрос таков - Как обратиться к одному имени или установить значения для одной переменной, используя только два таких метода?

 void SetAll(string _name,
       string _information,
       int _dateofCreation,
       int _numberofPages,
       int _numberofCreators,
       string _Autors)
   {
       this->name = _name;
       this->information = _information;
       this->dateofCreation = _dateofCreation;
       this->numberofPages = _numberofPages;
       this->numberofCreators = _numberofCreators;
       this->Autors = _Autors;
   }

   void GetAll()
   {
       cout << "Имя: " << this->name << endl;
       cout << "Дата создания: " << this->dateofCreation << endl;
       cout << "Имя автора(oв): " << this->Autors << endl;
       cout << "Количество создателей: " << this->numberofCreators << endl;
       cout << "Количество страниц: " << this->numberofPages << endl;
       cout << "Информация про книгу: " << this->information << endl;
   }
struct description {
  string information;
  int date_of_creation;
...
};

class holder {
   description d;
public:
   const description& get_description() const {return d;}
   void set_description(const description& r) {d = r;}
   void set_description(description&& r) {d = std::move(r);}
};
может этого от тебя хотели?
источник

IG

Ivan Grechka in supapro.cxx
Может, попробую
источник

B

BitaJlik in supapro.cxx
как можно в cout вывести "\" не как параметр а как просто символ без чара
источник