国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

類——C++面向對象編程的基石

2019-11-17 05:06:54
字體:
來源:轉載
供稿:網友
  結構體和類有相同的特性,但又有很大的區別,類是構成面向對象編程的基礎,但它是和結構體有著機器密切的關系。

  我們在c語言中創建一個結構體我們使用如下方法:

 C++ 代碼  
//程序作者:管寧  
//所有稿件均有版權,如要轉載,請務必聞名出處和作者 
 
strUCt test 
{ 
    PRivate: 
        int number; 
    public: 
        float socre; 
};

  類的創建方式和結構體幾乎一樣看如下的代碼:

 C++ 代碼  
//程序作者:管寧 
//站點:www.cndev-lab.com 
//所有稿件均有版權,如要轉載,請務必聞名出處和作者 
 
class test 
{ 
    private: 
        int number; 
    public: 
        float socre; 
    public: 
        int rp() 
        { 
            return number; 
        } 
        void setnum(int a) 
        { 
            number=a; 
        } 
};

  但是大家注重到沒有,標準c中是不答應在結構體中聲明函數的,但c++中的類可以,這一點就和c有了本質的區別,很好的體現了c++面向對象的特點!

  過去的c語言是一種非面向對象的語言

  他的特性是:

  程序=算法+數據結構

  但c++的特性是

  對象=算法+數據結構
  程序=對象+對象+對象+對象+........

  所以根據這一特性,我們在定義一個自己定義的結構體變量的時候,這個變量就應該是叫做對象或者叫實例

  例如 

  test a;

  那么a就是test結構的一個對象(實例)

  test結構體內的成員可以叫做是分量,例如:

  a.socre=10.1f;

  那么number就是test結構的對象a的分量(或者叫數據成員,或者叫屬性)score;

  在c語言中結構體中的各成員他們的默認存儲控制是public 而 c++中類的默認存儲控制是private,所以在類中的成員假如需要外部掉用一定要加上要害字public聲明成公有類型,這一特性同樣使用于類中的成員函數,函數的操作方式和普通函數差別并不大

  例如上面的例子中的rp()成員函數,我們如故有如下定義

  test a;

  的話,調用rp()就應該寫成

  a.rp();

  成員函數的調用和普通成員變量的調用方式一致都采用.的操作符。

  這一小節為了鞏固聯系我給出一個完整的例子。

  如下(重要和非凡的地方都有具體的注解):

 C++ 代碼  
//程序作者:管寧 
//站點:www.cndev-lab.com 
//所有稿件均有版權,如要轉載,請務必聞名出處和作者 
 
#include <iostream> 
using namespace std; 
class test 
{ 
    private://私有成員類外不能夠直接訪問 
        int number; 
    public://共有成員類外能夠直接訪問 
        float socre; 
    public: 
        int rp() 
        { 
            return number; 
        } 
        void setnum(int a) 
        { 
            number=a; 
        } 
}; 
 
void main() 
{ 
    test a; 
    //a.number=10;//錯誤的,私有成員不能外部訪問 
    a.socre=99.9f; 
    cout<<a.socre<<endl;//公有成員可以外部訪問 
    a.setnum(100);//通過公有成員函數setnum()間接對私有成員number進行賦值操作 
    cout<<a.rp();//間接返回私有成員number的值 
    cin.get(); 
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 志丹县| 浮山县| 长沙市| 莲花县| 庄河市| 宁夏| 湖南省| 阿克苏市| 连江县| 马尔康县| 乐清市| 平和县| 孟津县| 汝阳县| 塔河县| 呼伦贝尔市| 望谟县| 资阳市| 潮安县| 鄂托克前旗| 铜山县| 图木舒克市| 正宁县| 伊川县| 遵义县| 高邮市| 临朐县| 万源市| 博野县| 青州市| 古田县| 岳池县| 郓城县| 德保县| 永川市| 泸溪县| 富锦市| 洛川县| 新邵县| 游戏| 龙井市|