C++类与结构详解:自定义数据类型

需积分: 9 0 下载量 70 浏览量 更新于2024-07-21 收藏 112KB DOC 举报
"C++类详解" C++的类(Classes)是面向对象编程的基础,它允许程序员定义自己的数据类型,以更好地封装、组织和管理数据。类是一种自定义的数据结构,它将数据(称为成员变量)和操作这些数据的函数(称为成员函数或方法)组合在一起。 ### 1. 结构(Structures) 在C++中,结构(Structures)是类的一种特殊形式,用于组合不同类型的变量,形成一个复合数据类型。结构体的成员可以是基本数据类型(如char、int、double等)或其他自定义类型。结构的定义如下: ```cpp struct 结构名 { 类型说明符 成员名1; 类型说明符 成员名2; // ... }; ``` 例如,定义一个表示学生信息的结构`Stu`: ```cpp struct Stu { char name[20]; // 姓名,字符数组 char sex; // 性别,字符 int age; // 年龄,整型 float score; // 成绩,浮点型 }; ``` 结构体定义完成后,可以声明结构变量。有三种方式: ### 2. 结构类型变量的说明 #### a. 先定义结构,再说明结构变量 ```cpp struct Stu { // ... }; Stu student1; // 声明一个Stu类型的变量student1 ``` #### b. 在定义结构时直接声明变量 ```cpp struct Stu { // ... } student1, student2; // 声明两个Stu类型的变量student1和student2 ``` #### c. 使用typedef简化类型名 ```cpp typedef struct Stu { // ... } Student; Student student1; // 使用typedef后的类型名声明变量 ``` ### 3. 访问结构成员 结构成员可以通过点运算符`.`来访问: ```cpp student1.name = "张三"; // 修改student1的name成员 cout << student1.age << endl; // 输出student1的age成员 ``` ### 4. 类与结构的区别 在C++中,类与结构的主要区别在于默认的访问控制。结构的成员默认是public的,而类的成员默认是private的。这意味着在结构中,成员可以直接访问,而在类中,成员通常需要通过成员函数(公有接口)访问,以实现数据封装。 类还支持继承、多态和抽象类等特性,这些都是结构不具备的。类是面向对象编程的关键,允许创建复杂的对象层次和实现复用代码。 C++的类和结构提供了自定义数据类型的能力,使得程序员能够根据需求构造出符合业务逻辑的数据结构,提高了代码的可读性和可维护性。通过封装和数据抽象,类帮助我们构建更加模块化的程序设计,是理解和掌握C++的核心内容之一。