#include <iostream> using std::cout; using std::endl; class MyClass { friend void setX( MyClass &, int ); // friend declaration public: MyClass() : x( 0 ) { } void print() const { cout << x << endl; } private: int x; }; void setX( MyClass &c, int val ) { c.x = val; } int main() { MyClass counter; counter.print(); setX( counter, 8 ); counter.print(); return 0; }
0 8
9.22.friend function | ||||
9.22.1. | A friend function | |||
9.22.2. | Friend functions can be shared by two or more classes | |||
9.22.3. | A function can be a member of one class and a friend of another | |||
9.22.4. | Share friend function between classes | |||
9.22.5. | friend square() function for Distance | |||
9.22.6. | Friend functions and operator overloading | |||
9.22.7. | Friend functions can access private members of a class |