在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > C語言的一些高級(jí)議題

            C語言的一些高級(jí)議題

            作者:areak 時(shí)間:2014-10-23 來源:電子產(chǎn)品世界 收藏

              之面向?qū)ο?/strong>

            本文引用地址:http://www.biyoush.com/article/264327.htm

              我們經(jīng)常說是面向過程的語言,而C++、JAVA是面向?qū)ο蟮模敲嫦驅(qū)ο蟛⒉皇荂++、JAVA的專利,里面也有面向?qū)ο蟮乃枷?,比如我們?jīng)常使用的結(jié)構(gòu)體。

              struct student

              {

              char name[256];

              int age;

              };

              學(xué)生的姓名和年齡,就是學(xué)生自身的屬性,和C++里面的成員變量是一樣的概念,但是這個(gè)結(jié)構(gòu)體里面并沒有體現(xiàn)出方法的使用。在面向?qū)ο笾杏蟹庋b的概念,結(jié)構(gòu)體中的成員我們不應(yīng)該直接訪問,而應(yīng)該通過方法訪問,我們可以添加訪問結(jié)構(gòu)體成員變量的方法。

              char* get_name(student * self);//獲取學(xué)生姓名

              void set_name(student * self, char* name);//設(shè)置學(xué)生姓名

              char* get_name(student * self)

              {

              return self->name;

              }

              void set_name(student * self, char* name)

              {

              strncpy(self->name, name, sizeof(self->name));

              }

              此處省略age的設(shè)置和獲取功能。

              現(xiàn)在類的數(shù)據(jù)、方法都有了,下一步就是要使用類創(chuàng)建、初始化、析構(gòu)、銷毀對(duì)象,在C++中有new、delete操作符負(fù)責(zé)創(chuàng)建和銷毀,使用C語言實(shí)現(xiàn)如下:

              student * student _create(void);// 對(duì)象創(chuàng)建和初始化

              void student _destroy(student * self);// 對(duì)象析構(gòu)和銷毀

              student * student _create(void)

              {

              student * self = malloc(sizeof(student));

              memset(self->name, 0x00, sizeof(self->name));

              self->age = 0;

              return self;

              }

              void student _destroy(student * self)

              {

              free(self);

              }

              至此,我們就可以采用面向?qū)ο蟮姆绞絹砭帉懘a了。

              student * student1= NULL;

              student1 = student _create();//創(chuàng)建對(duì)象

              set_name(student1, "mary");//初始化student1的名字為mary

              set_age(student1, 20); //初始化student1的年齡為20

              get_name(student1);//獲取student1的姓名

              student _destroy(student1);//銷毀對(duì)象

              當(dāng)然C語言還有很多強(qiáng)大的功能,比如可變參數(shù)的設(shè)計(jì),無一例外都要借助于來實(shí)現(xiàn)。以上內(nèi)容參考于網(wǎng)絡(luò)資源,如有錯(cuò)誤之處,懇請(qǐng)指正。

            c語言相關(guān)文章:c語言教程



            上一頁 1 2 下一頁

            關(guān)鍵詞: C語言 指針 函數(shù)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉