Вау, на данный момент не работает с этой библиотекой сокетов. Я пытаюсь научиться немного больше в C ++.
С классами, есть ли способ сделать переменную доступной только для чтения для публики, но для чтения и записи при частном доступе? например как то так:
class myClass {
private:
int x; // this could be any type, hypothetically
public:
void f() {
x = 10; // this is OK
}
}
int main() {
myClass temp;
// I want this, but with private: it's not allowed
cout << temp.x << endl;
// this is what I want:
// this to be allowed
temp.f(); // this sets x...
// this to be allowed
int myint = temp.x;
// this NOT to be allowed
temp.x = myint;
}
Мой вопрос, в сжатой форме, как разрешить полный доступ к x
из f()
, но доступ только для чтения из любого другого места, то есть int newint = temp.x;
разрешен, но temp.x = 5;
не разрешен? как переменная const, но доступная для записи из f()
...
РЕДАКТИРОВАТЬ: я забыл упомянуть, что я планирую возвращать большой экземпляр вектора, использование функции getX () только сделает копию этого, и это не совсем оптимально. Я мог бы вернуть указатель на него, но это плохая практика iirc.
P.S .: Куда я отправлю сообщение, если я просто хочу показать свои знания указателей и спросить, завершено ли это или нет? Спасибо!