Ситуация:«Свойства» -подобные методы вместо getters & seters в C++?
class Person {
public:
int& age();
int age() const;
private:
int m_age;
};
Я не знаю, если это работает, как я думаю, поэтому мой первый вопрос заключается в следующем:
- С помощью этих методов можно создать C#, как «Свойства» ? Я имею в виду:
- С первого метода можно реализовать то, что должно произойти, когда что-то изменяет значение из m_age.
- С второй один я могу реализовать то, что должно произойти, когда что-то использует значение из m_age.
Пример:
Person p;
p.age() = 15; //first method is called?
std::cout << p.age(); //second method?
Я начинаю думать, что это полная глупость, которая основана на смешивании перегружать оператора и константные методы, пожалуйста: может ли кто-нибудь просветить меня? : D
Если это чудесно работает, могу ли я использовать это вместо геттеров & сеттеров или это плохое упражнение?
Как бы сеттер работал без параметра? –
@Eli Я думаю, сеттер возвращает m_age по ссылке. –
Использование ссылки, которая была возвращена. Или это работает только, если метод встроен? @TonyJ Да – Tudvari