结构体与类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看起来能实现的功能差不多,但是其用途和目的还是有很大区别的,代表着两种编程思想。

猜你喜欢

转载自www.cnblogs.com/MyKKBlog/p/9302012.html
今日推荐