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;
	}
};
相关推荐
syagain_zsx32 分钟前
ODB 与 MySQL:C++ 里的 ORM 实践(类即表、事务铁律与查询封装)
开发语言·数据库·c++·mysql·工具库·1024程序员节
小鱼仙官33 分钟前
使用Qt封装C/C++ 动态库 用于第三方调用
c语言·c++·qt
晚风予卿云月1 小时前
【C++高并发内存池】 1.定长内存池的实现
开发语言·c++·内存管理
闻缺陷则喜何志丹2 小时前
【c++20】协程与屏障
c++·算法·c++20·携程·屏障
会编程的小孩2 小时前
C++ 内存分区、堆与栈、static、union 完整修正版文档
c++
多弗朗皮卡丘3 小时前
C++的类型转换
开发语言·c++
火2253 小时前
# C++ 微服务即时通讯系统(三):网关设计——HTTP 请求、Session 鉴权与 WebSocket 通知上一篇
c++·http·微服务
C++ 老炮儿的技术栈4 小时前
机器人的坐标,像 XYZ 的坐标值,是用单精度浮点还是用双精度浮点?
c语言·c++·人工智能·单片机·c
zaizai10074 小时前
STL深度剖析2
java·c++·算法
幻智星科技4 小时前
FPGA纯硬件UDP桥接:微秒级响应新范式
c++·fpga开发·硬件架构