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.运维安全.新浪微博技术等方面,为广大移动开发者解开技术迷思. 为使大家进一步了解本次大会, ...
一周排行
  • 2015苹果全球开发者大会在6月9日凌晨,美国旧金山举行,fir.im 整理了一部分的资料,帮助了解 iOS9 的新特性与功能,感兴趣的可以看下. 关于iOS9新增功能 在WWDC 2015上苹果介绍了 iOS 9的 ...
  • dex2jar 和 JD-GUI 这2个工具是学习android的好帮手 dex2jar下载地址 : http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHO ...
  • 作者:二青个人站点:zhangerqing.cn    邮箱:[email protected]    微博:http://weibo.com/xtfggefVi是一个常用的linux下文本编辑器,基本所有的类Uni ...
  • Touch Diamond内置了GPS模块和相应的“多普达领航者”软件,而且由于这款机器用的CPU内置的导航模块,所以比较普通的集成GPS手机来说要省电不少. 今天仔细试用了一下它的导航功能: 启动导航软件 不过这个 ...
  • ================================================================================Qomolangma OpenProject v1.0 ...
  • 1.建Web project“2Servlet_Basic” 2.建包com.amaker.servlet 3.建类“ServletBasic.java” package com.amaker.servlet; im ...
  • 京华时报讯(记者顾梦琳)清明节后,微软将正式停止对WindowsXP系统的安全支持服务.届时继续使用XP系统将更容易受到安全风险与病毒攻击.昨天记者获悉,目前国家信息中心已建成了覆盖全国31个省区市的政务终端安全配置 ...
  • 题目地址:POJ 1144 求割点.判断一个点是否是割点有两种判断情况: 如果u为割点,当且仅当满足下面的1条 1.如果u为树根,那么u必须有多于1棵子树 2.如果u不为树根,那么(u,v)为树枝边,当Low[v]& ...
  • 一,json的解析 json文件: {"code": "cn","cities":   [{"name": "保定" ...
  • MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法 例如:  id name sex age  1 kathy male 23  2 Javer famale 32 ...