Я смотрю учебники на C++ на youtube, и я нахожусь на видео под названием «Использование переменных в классах». В видеоролике он объясняет, что если мы будем делать переменные общедоступными в классах, это плохое программирование. Это будет работать, но это все еще плохое программирование. Программа, которую он написал, состояла из класса с частной переменной, и он использовал две функции для доступа к переменной. Код выглядит следующим образом:Использование переменных в классах (справка на C++)
#include <iostream>
#include <string>
using namespace std;
class MyClass {
public:
void setName(string x)
{
name = x;
}
string getName()
{
return name;
}
private:
string name;
};
int main()
{
MyClass TO;
TO.setName("Taylor");
cout << TO.getName();
}
Мой вопрос, почему мы должны создать отдельную функцию, чтобы вернуть имя, вместо того, чтобы вернуть его в первой функции? В моем коде я вернул имя в первой функции, и все прошло хорошо.
Это хорошо продуманный вопрос, но в конце он немного неясен. «Отдельная функция для возврата имени» - это то, что называется «getter». Члены класса обычно являются частными, чтобы обеспечить инкапсуляцию. Так что это может показаться немного избыточным, но так оно и делается. – mjuarez
Вы спрашиваете, почему 'setName' не возвращает' name'?Название вопроса можно было бы улучшить ... – emlai
Да, это то, о чем я прошу. – Tay