... public
member functions are declared—again, this friend
declaration can appear anywhere in the class.
![](/api/v2/epubs/9780134448930/files/images/f0422-01.png)
Fig. 9.23 Friend
s can access private
members of a class.
Alternate View
1 // Fig. 9.23: fig09_23.cpp
2 // Friends can access private members of a class.
3 #include <iostream>
4 using namespace std;
5
6 // Count class definition
7 class Count {
8 friend void setX(Count&, int); // friend declaration
9 public:
10 int getX() const {return x;}
11 private:
12 int x{0};
13 };
14
15 // function setX can modify private data of Count
16 // because setX is declared as a friend of Count (line 8)
17 void setX(Count& c, int val) {
18 c.x = val; // allowed ...
Get C++ How to Program, 10/e now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.