一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

淺談C 類中的公有和私有

 My鏡像站 2011-12-26
最忌諱的就是利用C++寫C代碼!利用C++寫C代碼最主要的一個(gè)特點(diǎn)之一把類里面所有的數(shù)據(jù)都聲明成public的,本文就淺談了一下如何利用public和private將代碼分開的方法~~~
#define:
  1.關(guān)鍵字public可以將類的成員說明為是公有的,及可以被該類的所有成員所訪問;
  2.關(guān)鍵字private可以將類的成員說明為是私有的,它不能直接被對(duì)象訪問。
 
  其實(shí),說白了就是對(duì)于公有成員,我們可以利用對(duì)象來進(jìn)行直接調(diào)用,比如說:
1
2
3
4
5
6
7
8
9
10
11
12
13
class Cat
{
    public:
    int weight;   
};
 
int main()
{
    Cat cat;//聲明一個(gè)對(duì)象
   cat.weight=5;
    cout<<"The cat's weight is "<<cat.weight<<endl;
    return 0;
}
  在上面這個(gè)程序中,由于Cat類中的成員函數(shù)weight被聲明成了公有成員,那么我們就可以在主窗口中首先創(chuàng)建一個(gè)Cat類的對(duì)象(cat),并利用.運(yùn)算符就可以直接調(diào)用weight這個(gè)數(shù)據(jù)成員了。
  但是,值得注意的是,如果我們想要把上面程序中的public刪除掉,改成private。那么這個(gè)時(shí)候,我們就無法在由Cat類所聲明的對(duì)象中調(diào)用這個(gè)weight成員。這是,只有通過在類中設(shè)置一個(gè)公共的接口函數(shù),才能實(shí)現(xiàn)對(duì)weight的訪問,如下例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Cat
{
   public:
   void setWeight(int w){weight=w;}//設(shè)置重量
   int print(){return weight;}//返回重量的大小
   
  private:
   int weight;  
};
 
int main()
{
    Cat cat;
    cat.setWeight(5);//設(shè)置cat的重量為5
    cout<<"The cat's weight is "<<cat.print()<<endl;
    return 0;
}
  通過這種方式,利用類中的公共接口函數(shù),我們就可以訪問調(diào)用類的私有成員。那么這樣做的好處是什么呢?
好處就是:提高代碼的安全性,防止造成錯(cuò)誤的輸入與輸出。因?yàn)樵陬惖墓步涌诤瘮?shù)中,我們可以對(duì)輸入的具體值進(jìn)行限定,那么這樣就不會(huì)造成數(shù)據(jù)的錯(cuò)誤。比如說下例:
class Cat
{
   public:
   void setWeight(int w)
  {
      if(w>0&&w<50)//這里,我們就可以通過一條簡(jiǎn)單的if語句啟動(dòng)控制作用
         weight=w;
   }//設(shè)置重量
   int print(){return weight;}//返回重量的大小
   
  private:
   int weight;  
};
 
==================================總結(jié)========================================
  在一般情況下,我們可以將類的數(shù)據(jù)成員設(shè)置為私有的,然后調(diào)用類中的公共該接口函數(shù)來訪問他們。這樣做的好處是將數(shù)據(jù)的賦值與讀取分開操 作。比如說上例里面,我們就將數(shù)據(jù)的賦值函數(shù)設(shè)置成setWeight(int),將數(shù)據(jù)的讀取函數(shù)設(shè)置成print()。這樣的好處就是賦值函數(shù)不需要 考慮讀取函數(shù)是如何工作的,讀取函數(shù)中的代碼改變也不會(huì)影響到相應(yīng)的賦值函數(shù)。那么這樣就提高了代碼的可重用性。另外,由于將數(shù)據(jù)成員進(jìn)行了私有化,那么 各個(gè)對(duì)象不可以直接訪問并修改數(shù)據(jù)。比如說上例中想要直接修改weight的數(shù)值就是不合法的,只有通過公共的接口函數(shù)才能訪問并且修改到類里面的私有數(shù) 據(jù)成員(weight)。
  這樣的設(shè)置時(shí)程序更容易維護(hù),并且可避免一些不應(yīng)有的錯(cuò)誤。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产美女精品人人做人人爽| 我的性感妹妹在线观看| 国产中文另类天堂二区| 国产目拍亚洲精品区一区| 国产日本欧美特黄在线观看| 欧美偷拍一区二区三区四区| 国产激情一区二区三区不卡| 亚洲中文字幕一区三区| 在线观看免费午夜福利| 日韩不卡一区二区三区色图| 国产精品日韩欧美一区二区| 国产欧美日韩在线一区二区| 国产精品免费视频视频| 高清一区二区三区大伊香蕉| 欧美日韩亚洲国产av| 日韩一区二区免费在线观看| 国产av乱了乱了一区二区三区| 国产精品激情在线观看| 国产精品午夜小视频观看| 好吊日视频这里都是精品| 亚洲一级二级三级精品| 午夜日韩在线观看视频| 国产欧美日产久久婷婷| 国产丝袜美女诱惑一区二区| 国产免费成人激情视频| 成人午夜在线视频观看| 性欧美唯美尤物另类视频| 亚洲中文字幕视频在线观看| 大伊香蕉一区二区三区| 一区二区三区欧美高清| 欧美极品欧美精品欧美| 少妇熟女精品一区二区三区| 东北老熟妇全程露脸被内射| 中文字幕五月婷婷免费| 亚洲五月婷婷中文字幕| 亚洲天堂精品1024| 黑人巨大精品欧美一区二区区 | 欧美一区二区黑人在线| 日韩人妻毛片中文字幕| 国产一区麻豆水好多高潮| 欧美色欧美亚洲日在线|