c++友元类

    xiaoxiao2021-03-26  19

    友元类和java的反射机制作用差不多,打破类的封装性。

    #include "stdafx.h" #include"iostream" using namespace std; class A { private: friend class B; //B类是A的友元,在B中可以访问A类的私有成员 friend void modifyA(A *pA, int _a);//友元函数 int x; public: int getX() { return this->x; } }; class B { public: void set(int a) { obj.x = a; } void print() { cout << obj.x << endl; } private: A obj; }; void modifyA(A *pA, int _a) { pA->x = _a; } int main() { B objB; objB.set(100);//友元类修改私有属性 A objA; //创建一个A类对象,B类中也产生了A类对象 objB.print(); modifyA(&objA,12);//友元函数修改A对象的私有属性 cout << objA.getX()<< endl; system("pause"); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-659561.html

    最新回复(0)