Рубрики

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

Идея Encapsulation заключается в объединении данных и методов (которые работают с данными) вместе и ограничении доступа к частным элементам данных вне класса. В C ++ функция Friend или класс Friend также могут обращаться к закрытым элементам данных.

Можно ли получить доступ к закрытым членам вне класса без друга?
Да, это возможно с помощью указателей. См. Следующую программу в качестве примера.

#include<iostream>

using namespace std;

  

class Test

{

private:

    int data;

public:

    Test() { data = 0; }

    int getData() { return data; }

};

  

int main()

{

    Test t;

    int* ptr = (int*)&t;

    *ptr = 10;

    cout << t.getData();

    return 0;

}

Выход:

Рекомендуемые посты:

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

0.00 (0%) 0 votes