C与C++中结构体的区别

 更新时间:2013年10月10日 09:33:43   作者:  
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++中的结构体和类体现了数据结构和算法的结合。

相关文章

  • 用C语言实现简单扫雷游戏

    用C语言实现简单扫雷游戏

    这篇文章主要为大家详细介绍了用C语言实现简单扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C++实现将长整型数转换为字符串的示例代码

    C++实现将长整型数转换为字符串的示例代码

    这篇文章主要介绍了C++实现将长整型数转换为字符串的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C++ 标准模板库 STL 顺序容器详解

    C++ 标准模板库 STL 顺序容器详解

    这篇文章主要介绍了C++ 标准模板库 STL 顺序容器详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • C语言二叉树的三种遍历方式的实现及原理

    C语言二叉树的三种遍历方式的实现及原理

    这篇文章主要介绍了C语言二叉树的三种遍历方式的实现及原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Cocos2d-x中使用CCScrollView来实现关卡选择实例

    Cocos2d-x中使用CCScrollView来实现关卡选择实例

    这篇文章主要介绍了Cocos2d-x中使用CCScrollView来实现关卡的选择实例,本文在代码中用大量注释讲解了CCScrollView的使用,需要的朋友可以参考下
    2014-09-09
  • C++利用静态成员或类模板构建链表的方法讲解

    C++利用静态成员或类模板构建链表的方法讲解

    这篇文章主要介绍了C++利用静态成员或类模板构建链表的方法讲解,链表是基础的数据结构,而在C++中构件单链表还是稍显复杂,需要的朋友可以参考下
    2016-04-04
  • C++ new、delete(new[]、delete[])操作符重载需要注意的问题

    C++ new、delete(new[]、delete[])操作符重载需要注意的问题

    这篇文章主要介绍了C++ new、delete(new[]、delete[])操作符重载需要注意的问题,本文同时讲解了兼容默认的 new、delete 的错误处理方式、多态的问题等内容,需要的朋友可以参考下
    2014-10-10
  • c语言结构体字节对齐的实现方法

    c语言结构体字节对齐的实现方法

    在c语言的结构体里面一般会按照某种规则去进行字节对齐。本文就来介绍一下如何实现,具有一定的参考价值,感兴趣的可以了解下
    2021-07-07
  • c语言 树的基础知识(必看篇)

    c语言 树的基础知识(必看篇)

    下面小编就为大家带来一篇c语言 树的基础知识(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • C语言实现扫雷游戏源代码

    C语言实现扫雷游戏源代码

    这篇文章主要为大家详细介绍了C语言实现扫雷游戏源代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03

最新评论