扒开腿挺进岳湿润的花苞视频|将军边走边挺进她H树林|挺进朋友人妻张婉莹身体|岳脱得精光让我挺进去视频|第一次挺进莹莹的身体里视频|脱岳裙子从后面挺进去视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 開發(fā)語言 >> 文章正文

C++類的友元成員

         沒有友元之前,一個(gè)類是不能直接訪問其它類的private成員的
       引進(jìn)友元機(jī)制是允許一個(gè)類的private,protected成員的訪問權(quán)授予給指定的其它函數(shù)和其它類
2.定義
定義友元的關(guān)鍵字friend
格式:
class classname{
...
friend functionname();//聲明類的友元函數(shù)
friend class othername();//聲明類的友元類
};
functionname(){}       //定義友元函數(shù)代碼細(xì)節(jié)
class othername(){};        //定義友元友元類代碼細(xì)節(jié)
2.1.在類中定義友元函數(shù)
代碼舉例
//friend1.cpp pass with vc++6.0 or dev-c++4.9
#include <iostream>
class x{
public:
x():a(11),b(33){}//構(gòu)造函數(shù)初始化列表
friend void x_friend_f(x&);
friend class use_x;
private:
int a;
int b;
};
void x_friend_f(x& xx)//x的友元函數(shù)實(shí)現(xiàn)
{std::cout<<"a,b in class x is: "<<xx.a<<","<<xx.b<<std::endl;}

int main(){
x demo;
x_friend_f(demo);
return 0;
}
.在類中定義友元類
class screen{
public:
...
 friend class window_msg;//在類中聲明一個(gè)友元window_msg類
priavte:
int height;
int width;
int index;
};
//在另一類window_msg中直接訪問screen類的private成員
class window_msg{
public:
...
};
//友元類可以直接訪問
window_msg& window_msg::relocate(screen::index r,screen::index c,screen& s)
{
s.height +=r;
s.width +=c;
return *this;
}
3.基類與派生類
友元關(guān)系不能被繼承,基類的友元對(duì)派生類的成員沒有任何訪問權(quán)限
也就是說如果基類有友類函數(shù)和友元類,它們能訪問基類任何成員,而不能訪問由這個(gè)基類繼承的派生類的任何成員
4.設(shè)計(jì)指導(dǎo)
類的友元函數(shù)又叫做類的非成員函數(shù)
1.何時(shí)使用類的成員函數(shù)
當(dāng)我們對(duì)類自身對(duì)象進(jìn)行操作時(shí),操作如賦值=,下標(biāo)(),調(diào)用(),自增++,自減--
操作的返回結(jié)果也在類的自身對(duì)象,就直接選擇用成員方法實(shí)現(xiàn)
2.何時(shí)使用類的非成員函數(shù)即友元函數(shù)
當(dāng)我們對(duì)類的兩個(gè)以上對(duì)象進(jìn)行操作時(shí),如關(guān)系運(yùn)算,輸入>>,輸出<<,請(qǐng)選用友元函數(shù)

作者:未知 | 文章來源:未知 | 更新時(shí)間:2008-1-15 16:43:02

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    C++基礎(chǔ)知識(shí):結(jié)構(gòu)體數(shù)據(jù)的指針變量
    如何實(shí)現(xiàn)C與C++程序的相互調(diào)用
    在C++中成員函數(shù)如何實(shí)現(xiàn)操作符重載?
    基礎(chǔ)學(xué)習(xí):C++非成員函數(shù)實(shí)現(xiàn)操作符重載
    基礎(chǔ)學(xué)習(xí):C++重載輸入輸出符
    基礎(chǔ)學(xué)習(xí):C++重載下標(biāo)結(jié)算符
    基礎(chǔ)學(xué)習(xí):C++中重載調(diào)用操作符
    基礎(chǔ)學(xué)習(xí):C++重載轉(zhuǎn)換操作符operator (type)
    C++類復(fù)制控制學(xué)習(xí)
    C++類析構(gòu)函數(shù)學(xué)習(xí)
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫(kù)開發(fā)
    最新文章  
    ·搜集整理的asp.net的驗(yàn)證方
    ·各種FOR循環(huán)結(jié)構(gòu)的整理
    ·軟件項(xiàng)目開發(fā)中應(yīng)該考慮那
    ·搜集整理的javascript sel
    ·軟件開發(fā)中項(xiàng)目經(jīng)理有那些
    ·學(xué)習(xí)如何在Lambda表達(dá)式進(jìn)
    ·C++基礎(chǔ)知識(shí):結(jié)構(gòu)體數(shù)據(jù)的
    ·C#實(shí)現(xiàn)短信發(fā)送程序的例子
    ·sun最近修補(bǔ)了一部分java的
    ·rss定制的另外一種實(shí)現(xiàn)方式
    ·delphi實(shí)現(xiàn)利用arp欺騙來實(shí)
    ·基礎(chǔ)學(xué)習(xí):基于WF的流程框
    ·網(wǎng)絡(luò)編程中怎樣得知一次數(shù)
    ·如何逆序輸出單鏈表?
    ·軟件開發(fā)過程中的性能設(shè)計(jì)
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) m.jdtbank.com All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    无棣县| 德保县| 天津市| 吉林省| 阜康市| 曲麻莱县| 丹东市| 克拉玛依市| 陆川县| 苍南县| 利辛县| 县级市| 安新县| 武川县| 滕州市| 奉节县| 谷城县| 洛阳市| 全椒县| 柘城县| 平阴县| 阿拉善左旗| 大田县| 苗栗市| 泰和县| 宁河县| 余庆县| 内黄县| 罗平县| 滨海县| 马公市| 丹东市| 株洲市| 云林县| 夏邑县| 惠东县| 乡城县| 班玛县| 杂多县| 万盛区| 肥西县|