<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 牛人業(yè)話(huà) > C語(yǔ)言的一些高級議題

C語(yǔ)言的一些高級議題

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

  之面向對象

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

  我們經(jīng)常說(shuō)是面向過(guò)程的語(yǔ)言,而C++、JAVA是面向對象的,但是面向對象并不是C++、JAVA的專(zhuān)利,里面也有面向對象的思想,比如我們經(jīng)常使用的結構體。

  struct student

  {

  char name[256];

  int age;

  };

  學(xué)生的姓名和年齡,就是學(xué)生自身的屬性,和C++里面的成員變量是一樣的概念,但是這個(gè)結構體里面并沒(méi)有體現出方法的使用。在面向對象中有封裝的概念,結構體中的成員我們不應該直接訪(fǎng)問(wèn),而應該通過(guò)方法訪(fǎng)問(wèn),我們可以添加訪(fǎng)問(wèn)結構體成員變量的方法。

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

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

  char* get_name(student * self)

  {

  return self->name;

  }

  void set_name(student * self, char* name)

  {

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

  }

  此處省略age的設置和獲取功能。

  現在類(lèi)的數據、方法都有了,下一步就是要使用類(lèi)創(chuàng )建、初始化、析構、銷(xiāo)毀對象,在C++中有new、delete操作符負責創(chuàng )建和銷(xiāo)毀,使用C語(yǔ)言實(shí)現如下:

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

  void student _destroy(student * self);// 對象析構和銷(xiāo)毀

  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);

  }

  至此,我們就可以采用面向對象的方式來(lái)編寫(xiě)代碼了。

  student * student1= NULL;

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

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

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

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

  student _destroy(student1);//銷(xiāo)毀對象

  當然C語(yǔ)言還有很多強大的功能,比如可變參數的設計,無(wú)一例外都要借助于來(lái)實(shí)現。以上內容參考于網(wǎng)絡(luò )資源,如有錯誤之處,懇請指正。

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



上一頁(yè) 1 2 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>