Как реализовать функции-селекторы для доступа отдельно к каждому полю?

#include <iostream>
using namespace std;
class Myclass{
    public:
        Myclass(){
            ac=1;
            bc=5;
            dc=12;
            get();
        };
        Myclass(int a, int b, int c){
            ac=a;
            bc=b;
            dc=c;
            get();
        };
        Myclass(const Myclass &myclass):
            ac(myclass.ac), bc(myclass.bc), dc(myclass.dc){
                cout<<"Copy constructor worked in Myclass!\n";
                get();
            };
        ~Myclass(){
            cout<<"Destructor worked in class Myclass!\n";
        };
    private:
        int ac;
        int bc; 
        int dc;
    void get(){
        cout << "A = " << ac << "\n" << "B = " << bc <<"\n"<<"C = "<< dc << endl;
    };
};
int main() {
    Myclass test1;
    Myclass test2(12,13,16);
    Myclass copytest2(test2);
    return 0;
}

Создаю класс с тремя конструкторами(по умолчанию, с параметром и копирования) и деструктором, хочу реализовать функции-селекторы для доступа отдельно к каждому полю, но не совсем понимаю как это сделать тут.


Ответы (1 шт):

Автор решения: Harry

Вы хотите что-то типа такого?

int a() const { return ac; };
void a(int x) { ac = x; }

Чтоб потом можно было писать

test1.a(5);          // Член ac получает значение 5
cout << test1.a();   // Вывод члена ac
→ Ссылка