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.运维安全.新浪微博技术等方面,为广大移动开发者解开技术迷思. 为使大家进一步了解本次大会, ...
一周排行
  • 1.3 类型 c#支持两种基本的类型:一种是值(value types),一种是引用(reference types).值包括简单类型 (char.int.和float),枚举(enum)和结构(struct).引用 ...
  •   题意:问是否能将字符串str分解为三段非空的回文串. 思路:我们根据Manacher算法对字符串进行处理,处理过程中产生的P数组,我们可以得到两个数组first和last. first存储的是第一个回文串的半径可 ...
  • 易网科技讯 2月18日消息,据国外媒体报道,市场研究公司CCS Insight表示,苹果智能手表Apple Watch将在今年和今后的可穿戴市场中扮演主要角色.CCS Insight周二预计,2015年全球可穿戴设备 ...
  • javaScript并没有特殊的语法来表示私有.保护.或公共属性和方法,在这一点上与 java或其他语言是不同的,JavaScript中所有对象的成员是公用的: var myobj={ mypop:1, getPro ...
  • sort的其他内容以及uniq命令 在排序算法里有个重要的问题:是否稳定?这个问题指的是:相同的记录输入顺序是否在输出时也可保持原状?当你以多键值为记录进行排序,或是以管道处理时,排序稳定性就非常重要了.我们先来验证 ...
  • 1 <?xml version="1.0" encoding="utf-8"?> 2 <s:Application xmlns:fx="http:/ ...
  • 一场前所未有的强烈地震正在全球面板业蔓延.昨日,索尼中国有关负责人对<第一财经日报>确认,索尼公司于12月26日与三星电子签订协议,三星电子将以1.08万亿韩元(约54亿元人民币)收购索尼持有的液晶面板合 ...
  • 网页可见区域宽:document.body.clientWidth; 网页可见区域高:document.body.clientHeight; 网页可见区域高:document.body.offsetWidth   ( ...
  • 本文为介绍性文章,会随笔者学习C++语言不断更新. 1,前言 无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈.Stan Lippman先生曾在<C++ Primer& ...
  • 天天风之旅获得玲珑音符活动具体流程介绍.一起跟随小编过来看看吧 天天风之旅获得玲珑音符活动流程介绍,让玩家期待已久的音符终于出活动了,从2号正式开始到7号结束,只有5天,不知道大家有木有更新出新的签到面板,看到红框中 ...