C++ C/C++结构体的区别

C/C++结构体的区别

 

>_<:C中的结构体和C++中结构体的不同之处:

  • 在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。

 

>_<:C++中的结构体和类的异同:

一、相同之处:

  • 结构体中可以包含函数;
  • 也可以定义public、private、protected数据成员;
  • 定义了结构体之后,可以用结构体名来创建对象。但C中的结构体不允许有函数;             
  • 也就是说在C++当中,结构体中可以有成员变量,可以有成员函数,可以从别的类继承,也可以被别的类继承,可以有虚函数。

二、不同之处:

  • 结构体定义中 默认情况下的成员是public,而类定义中的默认情况下的成员是private的。
  • 类中的非static成员函数有this指针,(而struct中没 有是错误的,一直被误导啊,经过测试struct的成员函数一样具有this指针),
  • 类的关键字class能作为template模板的关键字 即template<class T> class A{}; 而struct不可以。
  • 实际上,C中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的,而到C++中一类或者一个结构体可以包含函数(这个函数在C++我们通常中称为成员函数),C++中的结构体和类体现了数据结构和算法的结合。

 

转载自:http://www.cnblogs.com/this-543273659/archive/2011/07/18/2109834.html

 

 

 

更多相关文章
  • 某基友在某地门户上班..网站总让人日..so..让吾等小菜帮忙看一下   菜文 勿喷  抛砖引玉专用   只是粗略瞄了几眼..坑啊..   \common\lib\FCKeditor\editor\filemanager\upload\php\config.php   $Config['Allowe ...
  • 注意:翻译成中文文章在我国法律规定 翻译者有中文版的版权 出于尊重 请转载时著名翻译人和原作者的署名 谢谢合作!另外文章本来想投到<黑客X档案>给朋友做的的杂志添砖添瓦 但是考虑过后 还是决定发网络 给广大的朋友共享 毕竟文章翻译质量也不好 发了刊物没准给我抹黑 文章图片我加工过 翻译意 ...
  • 继上节<Xamarin.IOS之快速入门>之后,本节将会在此基础之上具体扩展,主要是增加一个列表可以提供历史拨打电话的记录.下面我们直接进入正题.   首先打开MainStoryboard.storyboard,我们在这个基础之上继续修改.从工具栏中拖放一个Navigation Cont ...
  • 上次叉叉讲了Sqlmap简单注入(access数据库)教程,这次咱说说MySql数据库 MetInfo,是一款强大的企业网站管理系统,采用PHP+Mysql架构.   叉叉下载的是MetInfo 5.1.5的免费版本,咱不是大拿,不会分析源码,直接丢到WVS里面扫 发现注入点,打开我们的backtr ...
  • 懒人经济的兴起,让众多的互联网创业者和传统行业经营者又看到了新的市场机会.从美甲.足疗到保洁等各行各业,上门服务成为了传统企业借助互联网转型的新契机.对于大多数的创业者来说,外卖最终仍然只是巨头们的游戏.而另一个新的上门餐饮,厨师上门做饭却正在悄然兴起.如果说送外卖主攻的是上门餐饮的低端市场,那么厨 ...
  • 51CTO WOT 2015移动互联网开发者大会即将于2015年7月24-25日在北京富力万丽酒店隆重召开.本次大会共设八大技术分论坛,分别从产品与设计.平台与技术.创新与创业.移动游戏.算法分析.HTML5.运维安全.新浪微博技术等方面,为广大移动开发者解开技术迷思. 为使大家进一步了解本次大会, ...
一周排行