ariáveis @Class: acesso público somente leitura, mas acesso privado leitura / gravação

Whoopee, não está trabalhando nessa biblioteca de soquetes no momento. Estou tentando me educar um pouco mais em C ++.

Com as classes, existe uma maneira de tornar uma variável somente leitura para o público, mas ler + gravar quando acessada em particular? por exemplo. algo assim

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;
}

Minha pergunta, resumida, é como permitir acesso total ax de dentrof() mas acesso somente leitura de qualquer outro lugar, ou seja,int newint = temp.x; permitido, mastemp.x = 5; não permitido? como uma variável const, mas gravável a partir def() ...

EDIT: esqueci de mencionar que pretendo retornar uma instância de vetor grande, usar uma função getX () faria apenas uma cópia disso e isso não é realmente ideal. Eu poderia devolver um ponteiro para ele, mas isso é uma má prátic

P.S .: Onde eu postaria se eu apenas quisesse mostrar basicamente meu conhecimento de ponteiros e perguntar se está completo ou não? Obrigado

questionAnswers(11)

yourAnswerToTheQuestion