结构体与类class的区别与联系

Posted mykkblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体与类class的区别与联系相关的知识,希望对你有一定的参考价值。

今天刷题碰到链表的结构体:

struct ListNode {
      int val;
      ListNode *next;
      ListNode(int x) : val(x), next(NULL) {}
  };

比普通的链表结构体定义多一行,经查阅了解,原来结构体里面也可以定义构造函数,然后一想,那struct和class不就差不多了吗

感觉这个博客说的挺清楚的

自己总结来说,struct是C++继承C语言的东西,面向过程,是为了将不同类型的数据集合到一块,没有对数据private、public、protected这些对象中才有的概念,统统public。一般确实不会在里面定义函数一类的,但是也不是不行。

class则是C++面向对象语言大的精华所在,通过构造函数、析构函数、成员变量、公共变量、成员函数、公共函数、私有函数等能很好地封装和实现一个功能。虽然看起来和struct看起来能实现的功能差不多,但是其用途和目的还是有很大区别的,代表着两种编程思想。

 





以上是关于结构体与类class的区别与联系的主要内容,如果未能解决你的问题,请参考以下文章

结构体与类

typename T和class T区别与联系

java基础--继承实现依赖关联聚合组合的联系与区别

UML中几种类间关系:继承实现依赖关联聚合组合的联系与区别

什么是类?类与对象的区别是什么?

结构体与类