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;
	}
};
相关推荐
_OP_CHEN8 分钟前
【算法基础篇】(四十七)乘法逆元终极宝典:从模除困境到三种解法全解析
c++·算法·蓝桥杯·数论·算法竞赛·乘法逆元·acm/icpc
杭州杭州杭州8 分钟前
pta考试
数据结构·c++·算法
是娇娇公主~9 分钟前
C++集群聊天服务器(1)—— muduo网络库服务器编程
服务器·网络·c++
carver w12 分钟前
张氏相机标定,不求甚解使用篇
c++·python·数码相机
Remember_99323 分钟前
【数据结构】初识 Java 集合框架:概念、价值与底层原理
java·c语言·开发语言·数据结构·c++·算法·游戏
郝学胜-神的一滴27 分钟前
QtOpenGL多线程渲染方案深度解析
c++·qt·unity·游戏引擎·godot·图形渲染·unreal engine
陌路2042 分钟前
RPC分布式通信(2)---四种典型式线程池(1)
java·开发语言·c++
微露清风43 分钟前
系统性学习C++-第二十四讲-智能指针的使用及其原理
java·c++·学习
我是一只小青蛙8881 小时前
手撕C++STL的list实现
开发语言·c++·list
I_belong_to_jesus1 小时前
LLVM后端入门8:Subtarget支持
c++·llvm