程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++友元(Friend)用法實例簡介

C++友元(Friend)用法實例簡介

編輯:關於C++

C++友元(Friend)用法實例簡介。本站提示廣大學習愛好者:(C++友元(Friend)用法實例簡介)文章只能為提供參考,不一定能成為您想要的結果。以下是C++友元(Friend)用法實例簡介正文


絕對於Java而言,友元是C++中獨有的一種元素,許多教材上對其引見的絕對較少,是以初學的時刻常常不克不及很快控制,本文總結了友元的用法和一些留意的處所,供年夜家參考自創。願望能對初學C++的同伙起到一點贊助感化。

操作步調:

1)在MyFriend類中,將Father類界說成友元
2)寫一個Son類繼續自Father類
3)在Father類和Son類的結構函數平分別創立MyFriend對象,並界說其外部的三個變量
4)在MyFriend類的結構函數中創立Father對象,並界說其外部的三個變量

成果及留意事項:

1)Father類中創立的MyFriend對象許可直接拜訪MyFriend類中一切變量
2)Son類中創立的MyFriend對象只許可直接拜訪MyFriend類中Public變量
3)由第二點可知,友元關系沒法繼續
4)MyFriend類中創立的Father對象只許可直接拜訪Father類中的Public變量
5)由第四點可知,友元關系是單向的,即A為B友元,B其實不是A的友元,須要別的零丁界說

MyFriend.h頁面代碼以下:

#include "Father.h" 
 
class MyFriend{ 
  friend class Quote; //友元類直接如許界說就OK了 
public: 
  MyFriend(){ 
    Father *p = new Father(); 
    p->var1 = 1; 
    p->var2 = 1; 
    p->var3 = 1; 
  } 
  int var1; 
protected: 
  int var2; 
private: 
  int var3; 
}; 

Father.h頁面代碼以下:

#include "MyFriend.h" 
 
class Father{ 
public: 
  Father(){ 
    MyFriend *p = new MyFriend(); 
    p->var1 = 1; 
    p->var2 = 1; 
    p->var3 = 1; 
  }; 
  int var1; 
protected: 
  int var2; 
private: 
  int var3; 
} 

Son.h頁面代碼以下:

#include "MyFriend.h" 
 
class Son : Father{ 
  Son(){ 
    MyFriend *p = new MyFriend(); 
    p->var1 = 1; 
    p->var2 = 1; 
    p->var3 = 1; 
  }; 
}

感興致的讀者可以調試運轉一下本文實例,信任會有新的收成。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved