Я хочу объявить некоторые свойства класса. Я думаю о создании частных переменных для свойств, которые я хочу в классе.Объявление свойства C++ по ссылке или указателю
А затем подвергать частные переменные по ссылке. Но по указателю я также могу передать адрес частной переменной. Таким образом, пользователь класса может изменить переменную.
Итак, какой путь лучше с помощью ссылки или указателя, как показано в примере ниже?
class ExampleClass
{
private:
int age;
public:
//This function allows access via reference
int& GetAgeByReference()
{
int& refAge= age;
return refAge;
}
//This function allows access via pointer
int* GetAgeByPointer()
{
int* pointAge= &age;
return pointAge;
}
}
@KerrekSB: Спасибо, что поймал ошибку. Я написал это в спешке. – techfun
Если вы предоставляете полный доступ через своих аксессуаров, почему бы просто не сделать это общедоступной переменной? – HeywoodFloyd
Вы понимаете, что, возвращая неконстантную ссылку, вы фактически нарушаете принцип скрытия данных? Это кажется действительно запутанным дизайном. –