{"id":10711,"date":"2024-03-05T12:28:47","date_gmt":"2024-03-05T12:28:47","guid":{"rendered":"https:\/\/adelnasim.com\/docs\/courses\/oop\/friend-function-friend-class-2\/"},"modified":"2024-04-07T01:19:46","modified_gmt":"2024-04-07T01:19:46","slug":"friend-function-friend-class-2","status":"publish","type":"docs","link":"https:\/\/adelnasim.com\/ar\/docs\/courses\/oop\/friend-function-friend-class-2\/","title":{"rendered":"\u062f\u0627\u0644\u0629 \u0627\u0644\u0635\u062f\u064a\u0642 Friend Function\/ \u0648\u0641\u0626\u0629 \u0627\u0644\u0635\u062f\u064a\u0642 Friend class"},"content":{"rendered":"<p>\u0641\u064a \u0644\u063a\u0629 (C++)\u060c  friend function \u0623\u0648 friend class \u0647\u064a \u0645\u064a\u0632\u0629 \u062a\u0633\u0645\u062d \u0644\u062f\u0627\u0644\u0629 \u0623\u0648 \u0641\u0626\u0629 \u0628\u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u062e\u0627\u0635\u064a\u0646 \u0648\u0627\u0644\u0645\u062d\u0645\u064a\u064a\u0646 \u0641\u064a \u0641\u0626\u0629 \u0623\u062e\u0631\u0649. \u062a\u0639\u0645\u0644 \u0647\u0630\u0647 \u0627\u0644\u0645\u064a\u0632\u0629 \u0639\u0644\u0649 \u0643\u0633\u0631 \u0627\u0644\u062a\u063a\u0644\u064a\u0641 \u0625\u0644\u0649 \u062d\u062f \u0645\u0627\u060c \u0648\u0644\u0643\u0646\u0647\u0627 \u0642\u062f \u062a\u0643\u0648\u0646 \u0645\u0641\u064a\u062f\u0629 \u0641\u064a \u0633\u064a\u0646\u0627\u0631\u064a\u0648\u0647\u0627\u062a \u0645\u062d\u062f\u062f\u0629 \u062d\u064a\u062b \u064a\u0643\u0648\u0646 \u0627\u0644\u0627\u0642\u062a\u0631\u0627\u0646 \u0627\u0644\u0645\u062d\u0643\u0645 \u0628\u064a\u0646 \u0627\u0644\u0641\u0626\u0627\u062a \u0636\u0631\u0648\u0631\u064a\u064b\u0627 \u0623\u0648 \u0639\u0646\u062f \u062a\u0646\u0641\u064a\u0630 \u0623\u0646\u0645\u0627\u0637 \u062a\u0635\u0645\u064a\u0645 \u0645\u0639\u064a\u0646\u0629.<\/p>\n<h3>Friend Function:<\/h3>\n<p>\u062f\u0627\u0644\u0629 \u0627\u0644\u0635\u062f\u064a\u0642 \u0647\u064a \u062f\u0627\u0644\u0629 \u0639\u0627\u062f\u064a\u0629 \u062a\u064f\u0645\u0646\u062d \u062d\u0642 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0623\u0639\u0636\u0627\u0621 \u062e\u0627\u0635\u064a\u0646 \u0648\u0645\u062d\u0645\u064a\u064a\u0646 \u0641\u064a \u0627\u0644\u0641\u0626\u0629. \u0644\u0625\u0639\u0644\u0627\u0646 \u062f\u0627\u0644\u0629 \u0643\u0635\u062f\u064a\u0642 \u0644\u0641\u0626\u0629 \u0645\u0627\u060c \u064a\u062c\u0628 \u0639\u0644\u064a\u0643 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646\u0647\u0627 \u0636\u0645\u0646 \u0625\u0639\u0644\u0627\u0646 \u0627\u0644\u0641\u0626\u0629 \u0627\u0644\u0645\u0633\u0628\u0648\u0642 \u0628\u0627\u0644\u0643\u0644\u0645\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \"friend\".<\/p>\n<p><strong>\u0645\u062b\u0627\u0644 1:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;iostream&gt;\r\nusing namespace std;\r\nclass myClass {\r\n        int a, b;\r\n    public:\r\n        myClass(int i, int j)\r\n        {\r\n            a = i;\r\n            b = j;\r\n        }\r\n        friend int sum(myClass ob);\r\n};\r\nint sum(myClass ob)\r\n{\r\n    return ob.a + ob.b;\r\n}\r\nint main()\r\n{\r\n    myClass o(10, 20);\r\n    cout &lt;&lt; sum(o) &lt;&lt; endl;\r\n    return 0;\r\n}\r\n<\/pre>\n<p>\u0641\u064a \u0645\u0642\u062a\u0637\u0641 \u0643\u0648\u062f C++ \u0647\u0630\u0627\u060c \u064a\u062a\u0645 \u062a\u0639\u0631\u064a\u0641 \u0641\u0626\u0629 \u062a\u0633\u0645\u0649 myClass \u0645\u0639 \u0639\u0636\u0648\u064a\u0646 \u0635\u062d\u064a\u062d\u064a\u0646 \u062e\u0627\u0635\u064a\u0646 a \u0648b. \u064a\u062d\u062a\u0648\u064a \u0627\u0644\u0640class \u0623\u064a\u0636\u064b\u0627 \u0639\u0644\u0649 \u0645\u064f\u0646\u0634\u0626 \u0644\u062a\u0647\u064a\u0626\u0629 \u0647\u0624\u0644\u0627\u0621 \u0627\u0644\u0623\u0639\u0636\u0627\u0621. \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0630\u0644\u0643\u060c \u0647\u0646\u0627\u0643 \u0645\u062c\u0645\u0648\u0639 \u062f\u0627\u0644\u0629 friend \u0645\u0639\u0644\u0646\u0629 \u062f\u0627\u062e\u0644 \u0627\u0644\u0640class.<\/p>\n<p>\u062a\u0623\u062e\u0630 \u0627\u0644\u062f\u0627\u0644\u0629 sum \u0643\u0627\u0626\u0646\u064b\u0627 \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 myClass \u0643\u0648\u0633\u064a\u0637\u0629 \u0644\u0647\u0627 \u0648\u062a\u0631\u062c\u0639 \u0645\u062c\u0645\u0648\u0639 \u0627\u0644\u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u062e\u0627\u0635\u064a\u0646 a \u0648b \u0644\u0647\u0630\u0627 \u0627\u0644\u0643\u0627\u0626\u0646.<\/p>\n<p>\u0641\u064a \u0627\u0644\u0648\u0638\u064a\u0641\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\u060c \u064a\u0648\u062c\u062f \u0643\u0627\u0626\u0646 o \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 myClass \u0628\u0642\u064a\u0645 \u0623\u0648\u0644\u064a\u0629 10 \u064820\u060c \u062b\u0645 \u064a\u062a\u0645 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u062f\u0627\u0644\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639 \u0644\u062a\u0645\u0631\u064a\u0631 \u0647\u0630\u0627 \u0627\u0644\u0643\u0627\u0626\u0646 o \u0643\u0648\u0633\u064a\u0637\u0629. \u0648\u0623\u062e\u064a\u0631\u064b\u0627\u060c \u0625\u062e\u0631\u0627\u062c \u0646\u062a\u064a\u062c\u0629 \u062f\u0627\u0644\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 cout.<\/p>\n<p>\u0641\u064a\u0645\u0627 \u064a\u0644\u064a \u062a\u0641\u0627\u0635\u064a\u0644 \u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0629:<\/p>\n<ol>\n<li>\u064a\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0643\u0627\u0626\u0646 o \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 myClass \u0628\u0627\u0644\u0642\u064a\u0645\u062a\u064a\u0646 10 \u064820.<\/li>\n<li>\u064a\u062a\u0645 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0627\u0644\u062f\u0627\u0644\u0629 sum \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0643\u0627\u0626\u0646 o \u0643\u0648\u0633\u064a\u0637\u0629.<\/li>\n<li>\u062f\u0627\u062e\u0644 \u0627\u0644\u062f\u0627\u0644\u0629 sum\u060c \u064a\u062a\u0645 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0639\u0636\u0648\u064a\u0646 \u0627\u0644\u062e\u0627\u0635\u064a\u0646 a \u0648b \u0644\u0644\u0643\u0627\u0626\u0646 ob \u0645\u0646 \u062e\u0644\u0627\u0644 \u0625\u0639\u0644\u0627\u0646 friend\u060c \u0648\u064a\u062a\u0645 \u0625\u0631\u062c\u0627\u0639 \u0645\u062c\u0645\u0648\u0639\u0647\u0645\u0627.<\/li>\n<li>\u062b\u0645 \u062a\u062a\u0645 \u0637\u0628\u0627\u0639\u0629 sum  \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 cout.<\/li>\n<\/ol>\n<p>\u0644\u0630\u0644\u0643\u060c \u0639\u0646\u062f \u062a\u0634\u063a\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c\u060c \u062a\u0643\u0648\u0646 \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">30<\/pre>\n<p><strong>\u0645\u062b\u0627\u0644 2:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;iostream&gt;\r\nusing namespace std;\r\nclass CRectangle {\r\n    private:\r\n        int width, height;\r\n        friend CRectangle duplicate(CRectangle);\r\n    public:\r\n        void set_values(int, int);\r\n        int area(void)\r\n        {\r\n            return (width * height);\r\n        }\r\n};\r\nvoid CRectangle::set_values(int a, int b)\r\n{\r\n    width = a;\r\n    height = b;\r\n}\r\nCRectangle duplicate(CRectangle R)\r\n{\r\n    CRectangle T;\r\n    T.width = R.width * 2;\r\n    T.height = R.height * 2;\r\n    return T;\r\n}\r\nint main()\r\n{\r\n    CRectangle rect, rectb;\r\n    rect.set_values(2, 3);\r\n    cout &lt;&lt; \"The area before duplicate = \" &lt;&lt; rect.area() &lt;&lt; endl;\r\n    rectb = duplicate(rect);\r\n    cout &lt;&lt; \"The area after duplicate = \" &lt;&lt; rectb.area() &lt;&lt; endl;\r\n    return 0;\r\n}\r\n<\/pre>\n<p>\u064a\u062d\u062f\u062f \u0643\u0648\u062f C++ \u0647\u0630\u0627 \u0641\u0626\u0629 CRectangle \u062a\u0645\u062b\u0644 \u0645\u0633\u062a\u0637\u064a\u0644\u0627\u064b. \u064a\u062d\u062a\u0648\u064a \u0627\u0644\u0643\u0644\u0627\u0633 \u0639\u0644\u0649 \u0639\u0631\u0636 \u0648\u0627\u0631\u062a\u0641\u0627\u0639 \u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629\u060c \u0648\u062f\u0627\u0644\u062a\u064a\u0646 \u0639\u0636\u0648\u064a\u062a\u064a\u0646 \u0647\u0645\u0627 set_values \u0648area.<\/p>\n<p>\u0641\u064a \u0627\u0644\u0642\u0633\u0645 private\u060c \u0627\u0644\u0639\u0631\u0636 \u0648\u0627\u0644\u0627\u0631\u062a\u0641\u0627\u0639 \u0647\u0645\u0627 \u0623\u0628\u0639\u0627\u062f \u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644. \u064a\u062a\u0645 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u062f\u0627\u0644\u0629 set_values \u0644\u062a\u0639\u064a\u064a\u0646 \u0642\u064a\u0645 \u0627\u0644\u0639\u0631\u0636 \u0648\u0627\u0644\u0627\u0631\u062a\u0641\u0627\u0639. \u062a\u0642\u0648\u0645 \u062f\u0627\u0644\u0629 \u0627\u0644\u0645\u0633\u0627\u062d\u0629 \u0628\u062d\u0633\u0627\u0628 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644 \u0648\u0625\u0631\u062c\u0627\u0639\u0647\u0627.<\/p>\n<p>\u062a\u0645 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646 \u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u0643\u0635\u062f\u064a\u0642 \u0644\u0640 CRectangle. \u0648\u0647\u0630\u0627 \u064a\u0639\u0646\u064a \u0623\u0646 \u0644\u062f\u064a\u0647 \u0625\u0645\u0643\u0627\u0646\u064a\u0629 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0623\u0639\u0636\u0627\u0621 CRectangle \u0627\u0644\u062e\u0627\u0635\u064a\u0646.<\/p>\n<p>\u062a\u0642\u0648\u0645 \u0627\u0644\u062f\u0627\u0644\u0629 set_values \u0628\u062a\u0639\u064a\u064a\u0646 \u0639\u0631\u0636 \u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644 \u0648\u0627\u0631\u062a\u0641\u0627\u0639\u0647 \u0628\u0646\u0627\u0621\u064b \u0639\u0644\u0649 \u0627\u0644\u0645\u0639\u0644\u0645\u0627\u062a \u0627\u0644\u0645\u062a\u0648\u0641\u0631\u0629.<\/p>\n<p>\u062a\u0623\u062e\u0630 \u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u0643\u0627\u0626\u0646 CRectangle \u0643\u0645\u0639\u0644\u0645\u0629\u060c \u0648\u062a\u0646\u0634\u0626 \u0643\u0627\u0626\u0646 CRectangle \u062c\u062f\u064a\u062f T\u060c \u0648\u062a\u0639\u064a\u0646 \u0639\u0631\u0636 \u0648\u0627\u0631\u062a\u0641\u0627\u0639 T \u0644\u064a\u0643\u0648\u0646 \u0636\u0639\u0641 \u0639\u0631\u0636 \u0648\u0627\u0631\u062a\u0641\u0627\u0639 \u0627\u0644\u0625\u062f\u062e\u0627\u0644 R. \u062b\u0645 \u064a\u0642\u0648\u0645 \u0628\u0625\u0631\u062c\u0627\u0639 \u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644 \u0627\u0644\u062c\u062f\u064a\u062f T.<\/p>\n<p>\u0641\u064a \u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u0629:<\/p>\n<ol>\n<li>\u064a\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0643\u0627\u0626\u0646\u0627\u062a rect \u0648rectb \u0644\u0640CRectangle.<\/li>\n<li>\u064a\u062a\u0645 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0627\u0644\u062f\u0627\u0644\u0629 set_values \u0641\u064a rect \u0644\u062a\u0639\u064a\u064a\u0646 \u0623\u0628\u0639\u0627\u062f\u0647\u0627 \u0639\u0644\u0649 2\u00d73.<\/li>\n<li>\u0633\u064a\u062a\u0645 \u0637\u0628\u0627\u0639\u0629 \u0645\u0633\u0627\u062d\u0629 rect \u0642\u0628\u0644 \u0645\u0636\u0627\u0639\u0641\u062a\u0647\u0627.<\/li>\n<li>\u064a\u062a\u0645 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 rect \u0643\u0648\u0633\u064a\u0637\u0629\u060c \u0648\u064a\u062a\u0645 \u062a\u0639\u064a\u064a\u0646 \u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644 \u0627\u0644\u0630\u064a \u062a\u0645 \u0625\u0631\u062c\u0627\u0639\u0647 \u0625\u0644\u0649 rectb.<\/li>\n<li>\u062a\u062a\u0645 \u0637\u0628\u0627\u0639\u0629 rectb \u0628\u0639\u062f \u0645\u0636\u0627\u0639\u0641\u062a\u0647\u0627.<\/li>\n<\/ol>\n<p>\u0645\u062e\u0631\u062c\u0627\u062a \u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u062a\u0643\u0648\u0646 \u0643\u0627\u0644\u062a\u0627\u0644\u064a:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">The area before duplicate = 6\r\nThe area after duplicate = 24\r\n<\/pre>\n<p><strong>\u0645\u062b\u0627\u0644 3:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;iostream&gt;\r\nusing namespace std;\r\nclass Tri;\r\nclass CRectangle {\r\n        int width, height;\r\n    public:\r\n        void set_values(int a, int b) {\r\n            width = a;\r\n            height = b;\r\n        }\r\n        friend int Sum(Tri T, CRectangle R);\r\n};\r\nclass Tri {\r\n        int W, H;\r\n    public:\r\n        Tri(int a, int b)\r\n        {\r\n            W = a;\r\n            H = b;\r\n        }\r\n        friend int Sum(Tri T, CRectangle R);\r\n};\r\nint Sum(Tri T, CRectangle R)\r\n{\r\n    return T.W + R.width;\r\n}\r\nint main()\r\n{\r\n    CRectangle r;\r\n    r.set_values(2, 3);\r\n    Tri l(5, 10);\r\n    cout &lt;&lt; Sum(l, r) &lt;&lt; endl;\r\n    return 0;\r\n}\r\n<\/pre>\n<p>\u064a\u0648\u0636\u062d \u0628\u0631\u0646\u0627\u0645\u062c C++ \u0647\u0630\u0627 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u062f\u0648\u0627\u0644 friend \u0639\u0628\u0631 \u0641\u0626\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629. \u0625\u0644\u064a\u0643 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0643\u0648\u062f:<\/p>\n<p>\u0625\u0639\u0644\u0627\u0646 \u0627\u0644\u0643\u0644\u0627\u0633:<\/p>\n<ul>\n<li>\u062a\u0645 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646 \u0641\u0626\u062a\u064a\u0646: CRectangle \u0648Tri.<\/li>\n<li>\u064a\u062d\u062a\u0648\u064a CRectangle \u0639\u0644\u0649 \u0639\u0636\u0648\u064a\u0646 \u062e\u0627\u0635\u064a\u0646 \u0628\u0627\u0644\u0639\u0631\u0636 \u0648\u0627\u0644\u0627\u0631\u062a\u0641\u0627\u0639\u060c \u0648\u0648\u0638\u064a\u0641\u0629 \u0627\u0644\u0639\u0636\u0648 set_values \u0644\u062a\u0639\u064a\u064a\u0646 \u0647\u0630\u0647 \u0627\u0644\u0642\u064a\u0645.<\/li>\n<li>\u064a\u062d\u062a\u0648\u064a Tri \u0639\u0644\u0649 \u0639\u0636\u0648\u064a\u0646 \u062e\u0627\u0635\u064a\u0646 \u0645\u0646 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a W \u0648H\u060c \u0648\u0645\u064f\u0646\u0634\u0626 \u0644\u062a\u0647\u064a\u0626\u062a\u0647\u0645\u0627.<\/li>\n<\/ul>\n<p>\u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646 \u062f\u0627\u0644\u0629 Friend:<\/p>\n<ul>\n<li>\u064a\u0639\u0644\u0646 \u0643\u0644\u0627 \u0627\u0644\u0641\u0626\u062a\u064a\u0646 \u0639\u0646 \u0648\u0638\u064a\u0641\u0629 \u0635\u062f\u064a\u0642 \u062a\u0633\u0645\u0649 Sum. \u0647\u0630\u0627 \u064a\u0639\u0646\u064a \u0623\u0646 \u0627\u0644\u062f\u0627\u0644\u0629 Sum \u064a\u0645\u0643\u0646\u0647\u0627 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u062e\u0627\u0635\u064a\u0646 \u0641\u064a \u0643\u0644 \u0645\u0646 CRectangle \u0648Tri.<\/li>\n<\/ul>\n<p>\u062a\u0646\u0641\u064a\u0630 \u062f\u0627\u0644\u0629 Friend:<\/p>\n<ul>\n<li>\u062a\u0623\u062e\u0630 \u0627\u0644\u062f\u0627\u0644\u0629 Sum \u0643\u0627\u0626\u0646\u0627\u062a \u0645\u0646 \u0627\u0644\u0646\u0648\u0639\u064a\u0646 Tri \u0648CRectangle \u0643\u0648\u0633\u0627\u0626\u0637 \u0648\u062a\u0642\u0648\u0645 \u0628\u0625\u0631\u062c\u0627\u0639 \u0645\u062c\u0645\u0648\u0639 \u0623\u0639\u0636\u0627\u0626\u0647\u0627 \u0627\u0644\u062e\u0627\u0635\u064a\u0646.<\/li>\n<li>\u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u062d\u0627\u0644\u0629\u060c \u062a\u0642\u0648\u0645 \u0628\u0625\u0631\u062c\u0627\u0639 \u0645\u062c\u0645\u0648\u0639 W \u0645\u0646 \u0627\u0644\u0643\u0627\u0626\u0646 Tri \u0648\u0627\u0644\u0639\u0631\u0636 \u0645\u0646 \u0627\u0644\u0643\u0627\u0626\u0646 CRectangle.<\/li>\n<\/ul>\n<p>\u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u0629 main:<\/p>\n<ul>\n<li>\u0641\u064a \u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\u060c \u064a\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0643\u0627\u0626\u0646 r \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 CRectangle \u0648\u064a\u062a\u0645 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u062f\u0627\u0644\u0629 set_values \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647 \u0644\u062a\u0639\u064a\u064a\u0646 \u0623\u0628\u0639\u0627\u062f\u0647 \u0625\u0644\u0649 2\u00d73.<\/li>\n<li>\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0643\u0627\u0626\u0646 \u0622\u062e\u0631 l \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 Tri \u0628\u0623\u0628\u0639\u0627\u062f 5\u00d710.<\/li>\n<li>\u064a\u062a\u0645 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0627\u0644\u062f\u0627\u0644\u0629 Sum \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0643\u0627\u0626\u0646\u064a\u0646 l \u0648r \u0643\u0648\u0633\u0627\u0626\u0637\u060c \u0648\u064a\u062a\u0645 \u0637\u0628\u0627\u0639\u0629 \u0627\u0644\u0646\u062a\u064a\u062c\u0629.<\/li>\n<\/ul>\n<p>\u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a:<\/p>\n<ul>\n<li>\u0646\u0638\u0631\u064b\u0627 \u0644\u0623\u0646 \u0627\u0644\u062f\u0627\u0644\u0629 Sum \u062a\u064f\u0631\u062c\u0639 \u0645\u062c\u0645\u0648\u0639 W \u0645\u0646 Tri \u0648\u0627\u0644\u0639\u0631\u0636 \u0645\u0646 CRectangle\u060c \u0641\u0633\u064a\u0643\u0648\u0646 \u0627\u0644\u0646\u0627\u062a\u062c 5 + 2 = 7.<\/li>\n<\/ul>\n<h3>Friend Class:<\/h3>\n<p>\u0641\u0626\u0629 Friend \u0647\u064a \u0641\u0626\u0629 \u064a\u062a\u0645 \u0645\u0646\u062d\u0647\u0627 \u062d\u0642 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u062e\u0627\u0635\u064a\u0646 \u0648\u0627\u0644\u0645\u062d\u0645\u064a\u064a\u0646 \u0641\u064a \u0641\u0626\u0629 \u0623\u062e\u0631\u0649. \u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646 \u0641\u0626\u0629 Friend \u0645\u0646 \u062e\u0644\u0627\u0644 \u0633\u0628\u0642 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646\u0647\u0627 \u0628\u0627\u0644\u0643\u0644\u0645\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \"Friend\" \u062f\u0627\u062e\u0644 \u0627\u0644\u0641\u0626\u0629 \u0627\u0644\u062a\u064a \u062a\u0639\u062a\u0628\u0631 \u0635\u062f\u064a\u0642\u064b\u0627 \u0644\u0647\u0627.<\/p>\n<p><strong>\u0645\u062b\u0627\u0644 4:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;iostream&gt;\r\nusing namespace std;\r\nclass CSquare;\r\nclass CRectangle {\r\n        int width, height;\r\n    public:\r\n        int area(void) {\r\n            return (width * height);\r\n        }\r\n        void convert(CSquare);\r\n};\r\nclass CSquare {\r\n    private:\r\n        int side;\r\n    public:\r\n        void set_side(int x)\r\n        {\r\n            side = x;\r\n        }\r\n        friend class CRectangle;\r\n};\r\nvoid CRectangle::convert(CSquare a)\r\n{\r\n    width = a.side;\r\n    height = a.side;\r\n}\r\nint main()\r\n{\r\n    CSquare sqr;\r\n    CRectangle rect;\r\n    sqr.set_side(4);\r\n    rect.convert(sqr);\r\n    cout &lt;&lt; rect.area() &lt;&lt; endl;\r\n    return 0;\r\n}<\/pre>\n<p>\u064a\u0648\u0636\u062d \u0628\u0631\u0646\u0627\u0645\u062c  C++ \u0647\u0630\u0627 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0641\u0626\u0627\u062a \u0627\u0644\u0623\u0635\u062f\u0642\u0627\u0621 \u0648\u0648\u0638\u0627\u0626\u0641 \u0627\u0644\u0623\u0639\u0636\u0627\u0621\u060c \u062e\u0627\u0635\u0629 \u0641\u064a \u0633\u064a\u0627\u0642 \u0641\u0626\u0629 CRectangle \u0648\u0641\u0626\u0629 CSquare.<\/p>\n<p>\u0625\u0639\u0644\u0627\u0646 \u0627\u0644\u0643\u0644\u0627\u0633:<\/p>\n<ul>\n<li>\u062a\u0645 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646 \u0641\u0626\u062a\u064a\u0646: CRectangle \u0648 CSquare.<\/li>\n<li>\u064a\u062d\u062a\u0648\u064a CRectangle \u0639\u0644\u0649 \u0639\u0636\u0648\u064a\u0646 \u062e\u0627\u0635\u064a\u0646 \u0628\u0627\u0644\u0639\u0631\u0636 \u0648\u0627\u0644\u0627\u0631\u062a\u0641\u0627\u0639\u060c \u0648\u0645\u0646\u0637\u0642\u0629 \u062f\u0627\u0644\u0629 \u0644\u0644\u0639\u0636\u0648 \u0644\u062d\u0633\u0627\u0628 \u0645\u0633\u0627\u062d\u062a\u0647\u0627. \u0643\u0645\u0627 \u0623\u0646 \u0644\u062f\u064a\u0647\u0627 \u062f\u0627\u0644\u0629 \u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0639\u0636\u0648\u060c \u0648\u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u0639\u0631\u064a\u0641\u0647\u0627 \u0644\u0627\u062d\u0642\u064b\u0627 \u062e\u0627\u0631\u062c \u0627\u0644\u0643\u0644\u0627\u0633.<\/li>\n<li>\u064a\u062d\u062a\u0648\u064a CSquare \u0639\u0644\u0649 \u062c\u0627\u0646\u0628 \u0648\u0627\u062d\u062f \u0645\u0646 \u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629 \u0648\u062f\u0627\u0644\u0629 \u0639\u0636\u0648 set_side \u0644\u062a\u0639\u064a\u064a\u0646 \u0642\u064a\u0645\u062a\u0647. \u064a\u0639\u0644\u0646 \u0639\u0646 CRectangle \u0643\u0641\u0626\u0629 \u0635\u062f\u064a\u0642.<\/li>\n<\/ul>\n<p>\u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646 \u0627\u0644\u0643\u0644\u0627\u0633 Friend:<\/p>\n<ul>\n<li>\u062a\u0639\u0644\u0646 CSquare \u0639\u0646 CRectangle \u0643\u0641\u0626\u0629 \u0623\u0635\u062f\u0642\u0627\u0621\u060c \u0645\u0645\u0627 \u064a\u0633\u0645\u062d \u0644\u0640 CRectangle \u0628\u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0623\u0639\u0636\u0627\u0626\u0647\u0627 \u0627\u0644\u062e\u0627\u0635\u064a\u0646.<\/li>\n<\/ul>\n<p>\u062a\u0639\u0631\u064a\u0641 \u062f\u0627\u0644\u0629 \u0627\u0644\u0639\u0636\u0648:<\/p>\n<ul>\n<li>\u064a\u062a\u0645 \u062a\u0639\u0631\u064a\u0641 \u062f\u0627\u0644\u0629 \u0639\u0636\u0648 \u0627\u0644\u062a\u062d\u0648\u064a\u0644 \u0644\u0640 CRectangle \u062e\u0627\u0631\u062c \u0627\u0644\u0641\u0626\u0629.<\/li>\n<li>\u064a\u0623\u062e\u0630 \u0643\u0627\u0626\u0646 CSquare \u0643\u0645\u0639\u0644\u0645\u0629 \u0648\u064a\u0639\u064a\u0646 \u062c\u0627\u0646\u0628\u0647 \u0644\u0643\u0644 \u0645\u0646 \u0639\u0631\u0636 \u0648\u0627\u0631\u062a\u0641\u0627\u0639 \u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644.<\/li>\n<\/ul>\n<p>\u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u0629 main:<\/p>\n<ul>\n<li>\u0641\u064a \u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\u060c \u064a\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0643\u0627\u0626\u0646\u0627\u062a sqr \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 CSquare \u0648\u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644 \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 CRectangle.<\/li>\n<li>\u062a\u0642\u0648\u0645 \u0627\u0644\u062f\u0627\u0644\u0629 set_side \u0644\u0640 sqr \u0628\u062a\u0639\u064a\u064a\u0646 side \u0639\u0644\u0649 4.<\/li>\n<li>\u064a\u062a\u0645 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u062f\u0627\u0644\u0629 \u062a\u062d\u0648\u064a\u0644 rect \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 sqr \u0643\u0648\u0633\u064a\u0637\u0629\u060c \u0648\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0645\u0631\u0628\u0639 \u0625\u0644\u0649 \u0645\u0633\u062a\u0637\u064a\u0644.<\/li>\n<li>\u062b\u0645 \u062a\u062a\u0645 \u0637\u0628\u0627\u0639\u0629 \u0645\u0633\u0627\u062d\u0629 rect \u0627\u0644\u0646\u0627\u062a\u062c.<\/li>\n<\/ul>\n<p>\u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a:<\/p>\n<ul>\n<li>\u0628\u0645\u0627 \u0623\u0646 \u0637\u0648\u0644 \u0636\u0644\u0639 \u0627\u0644\u0645\u0631\u0628\u0639 \u0647\u0648 4\u060c \u0641\u0628\u0639\u062f \u062a\u062d\u0648\u064a\u0644\u0647 \u0625\u0644\u0649 \u0645\u0633\u062a\u0637\u064a\u0644\u060c \u064a\u0635\u0628\u062d \u0643\u0644 \u0645\u0646 \u0639\u0631\u0636 \u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644 \u0648\u0627\u0631\u062a\u0641\u0627\u0639\u0647 4. \u0648\u0628\u0627\u0644\u062a\u0627\u0644\u064a \u0641\u0625\u0646 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0645\u0633\u062a\u0637\u064a\u0644 \u0627\u0644\u0646\u0627\u062a\u062c \u0647\u064a 4 * 4 = 16.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>In C++, a friend function or friend class is a feature that allows a function or a class to access private and protected members of another class. This feature breaks encapsulation to some extent but can be useful in specific scenarios where tight coupling between classes is necessary or when implementing certain design patterns. Friend [&hellip;]<\/p>","protected":false},"author":3,"featured_media":0,"parent":4291,"menu_order":50,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-10711","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/docs\/10711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/comments?post=10711"}],"version-history":[{"count":10,"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/docs\/10711\/revisions"}],"predecessor-version":[{"id":10793,"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/docs\/10711\/revisions\/10793"}],"up":[{"embeddable":true,"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/docs\/4291"}],"wp:attachment":[{"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/media?parent=10711"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/adelnasim.com\/ar\/wp-json\/wp\/v2\/doc_tag?post=10711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}