作者:121016710_ddc112_531_661_325 | 来源:互联网 | 2024-10-23 08:30
目录
struct
class
struct和calss的区别
C和C++中struct的区别
struct
struct是描述一个数据结构的集合,像一周有七天,你可以吧一周看成是一个结构体,然后在结构体里面定义一个数组来存放这个七天。在C语言中,定义结构体后,如果要使用该结构体定义结构体变量的话,需要在定义的前面加上struct关键字,或者通过typedef取别名,再用结构体名称进行变量定义。而在C++语言中可以直接通过结构体名称对结构体变量进行定义。在C++中包含了三种访问权限,包含public、private、protected,在C语言中只有public权限,默认没设置权限访问时是为public权限。像下面代码中的day数组的访问权限就是public。
/* 在C语言中的结构体 */
struct Week{int day[7];
};// 第一种定义方式:C语言的风格
struct Week week1; // 定义一个结构体变量// 第二种定义方式:C语言的风格
typedef struct Week{int day[7];
};Week week1; // 定义一个结构体变量/* 在C++语言中的结构体 */struct Week{int day[7];
};Week week1; // 直接用结构体名称来定义变量
class
class类是描述对一个对象进行封装,例如一个人,他有鼻子、眼睛、嘴巴等等属性,并且他会说话、走路、眨眼睛等等方法,将这些属性全部封装成一个框,这个框叫做类。类有利于我们程序的开发和后期的维护。在C语言中没有类的概念,C++才有类,对类的定义如下代码,类包含了三种访问权限,分别是public、private、protected。默认的属性是private权限,像下面的hands属性就是private权限。
class Person{int hands; // 类属性手,默认为private权限public:Person(){} // 类构造函数~Person(){} // 类析构函数private:int mouth; // 类属性嘴巴int eye; // 类属性眼睛public:void Speaking(); // 类方法行为 void Walking(); // 类方法行为 protected:};
struct和calss的区别
类别 | struct | class |
---|
含义 | 定义一个数据结构集合 | 一个的对象的封装 |
默认访问权限 | public | private |
继承 | 能(默认公有继承) | 能(默认私有继承) |
包含成员函数 | 能 | 能 |
实现多态 | 能 | 能 |
定义模板参数 | 不能 | 能 |
C和C++中struct的区别
关于C++的模板,后面小编专门写一篇来解释一下。
关注微信公众号了解更多