C++ 中的 struct 和 Class

  1. 通常struct用于表示一组相关的数据,而Class用于表示一个封装了数据和操作的对象。如果只是用于来组织一些数据,而不涉及复杂的封装和继承关系,则struct更为直观;如果需要封装、继承等面向对象编程的特性,可以选择使用Class。
  2. struct结构体中的成员默认是共有的(public)。类中的成员默认是私有的(private)。
  3. 如果结构体没有定义任何构造函数,编译器会产生默认的无参数构造函数。如果类没有定义任何构造函数,编译器也会生成默认的无参构造函数。
cpp 复制代码
struct MyStruct{
	int x; // 默认是public
	void print(){
		cout<<"Struct method"<<endl;
	}
};

class MyClass{
public: // 如果省略public则默认y和print()是私有的
	int y;
	void print(){
		cout<<"Class method"<<endl;
	}
};
相关推荐
wuminyu13 分钟前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
小π军19 分钟前
C 和 C++ 是否都支持函数的重载?
java·c语言·c++
烟花落o32 分钟前
C++ 从 C 到进阶 ④:类和对象(下)—— 构造函数进阶、static、友元与内部类
c++·类和对象·初始化列表·匿名对象·内部类·友元函数·static成员函数
stellanke40 分钟前
工业化C++:3. 继承、虚函数与运行时多态:从水果加工到日志策略设计
开发语言·c++
垆边人似月.41 分钟前
华为题:最多可以参加的会议数目
数据结构·c++·算法
xiangyun611 小时前
C++ list 模拟实现(一):手撕双向链表,从节点到迭代器
数据库·c++·算法·链表·stl·list
别动我齐刘海10 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
程序员老陆11 小时前
C++ std::promise深度解析
c++·程序设计
青少儿编程课堂11 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
沫璃染墨13 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss