• [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

     

     

     

  • 相关阅读:
    提示“此Flash Player与您的地区不相容,请重新安装Flash”的解决办法
    python中安装并使用redis
    linux安装flash player来播放视频
    安装redis
    centos6.5安装无线网卡驱动并配置wifi
    centos安装java的jdk
    001-python简介
    源码
    进程间通信之综述
    图的概念
  • 原文地址:https://www.cnblogs.com/zjutlitao/p/3913677.html
Copyright © 2020-2023  润新知