c++类结构体和函数的区别是什么?
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
C++中的结构体与类的区别只在于结构体的成员默认为公有成员(public可见性),而类的成员默认为私有成员(private可见性),C++中的结构体不同于C语言里的结构体,C里的结构体只能封装一些单一的数据,不能含方法,但在C++的结构体内可以有构造函数,成员函数,还可以指定成员的访问权限(如public和private)。
1、类可以被认为是结构体的一个升级版,它是由结构体演变过来的,在此基础上加了一些限制,以便更好实现面向对象的设计。结构体基本用在很多数据,需要一个结构体来封装这些数据。而类的话,是面向对象的思想,可以有很多接口让人调用,私有变量等外部不能调用,还有保护类型的变量。
2、结构体也可以被认为是一种特殊的类,它不存在任何函数,构造和析构函数也没有,而且是一个公共的的类;相关推荐>>C++中适用于类和结构体的内存池模板类
3、C++类和结构体概念基本一致,区别在于结构体在默认情况下成员是公共的(public),类在默认情况下成员是私有的(private),其他的都一样,类有的结构体也有。
4、C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。
5、C++结构体的继承默认是public,而c++类的继承默认是private。
6、类要加上public变成共有的才能被访问,而结构本身就是共有的可直接访问。
7、C++中struct与class本质上相同的,只是默认的访问权限不同,之所以要保留struct,是为了与C兼容。
与C中结构体不同的是,C++中定义结构体变量时可以不加struct关键字,如:
struct student{
char *name;
int age;
};
student s;//在C中的话要写成struct student s;