C++类的定义要点解析

需积分: 32 3 下载量 10 浏览量 更新于2024-08-19 收藏 8.81MB PPT 举报
"C++编程规范和入门指南" 在学习C++编程时,了解如何正确定义一个类是非常基础且重要的一步。根据《C++清华大学-谭浩强》的讲解,我们来详细探讨一下定义类时应注意的关键点: 1. **封装性与存储类型**: C++中的类是实现封装的主要手段,它允许我们将数据和操作这些数据的方法组合在一起。当定义类时,所有的成员数据不应该使用`extern`,`auto`或`register`这些关键字来指定存储类型。`extern`用于声明变量在其他地方已定义,`auto`和`register`通常用于函数内部的局部变量,它们并不适用于类的成员。类的成员默认具有内部链接(`static`)和自动存储期(`auto`),对于非静态成员变量,其存储空间会在对象实例化时分配。 2. **数据成员的初始化**: 在定义类时,我们仅仅定义了一个数据结构,而非实际创建了对象。因此,不能在类的定义中初始化数据成员。例如,以下代码是不允许的: ```cpp class Test { int x = 5, y = 6; // 错误:不允许在类定义中初始化数据成员 extern float x; // 错误: extern 不适用于类的成员 }; ``` 如果需要初始化数据成员,应该在类的构造函数中完成。 C++语言的发展历程也是值得了解的一部分。C++起源于C语言,由Bjarne Stroustrup在1983年为了增强C语言的面向对象特性而设计。C++在C语言的基础上引入了类、模板、异常处理、虚函数等概念,使得它成为一个完整的面向对象编程语言。C++的特性包括: 1. **结构化编程与灵活性**: C++是一种结构化的语言,同时具备高级语言和低级语言的特点。它的表达能力强,既适合编写大型系统软件,也适合小型控制程序。丰富的运算符和灵活的数据结构使得C++可以实现各种复杂的算法。 2. **高效与可移植性**: C++编写的程序有很好的执行效率,目标代码质量高,且由于标准库的存在,程序的可移植性极佳。在不同平台和硬件上,经过适当调整,C++程序通常可以顺利运行。 3. **语法自由度**: C++的语法结构相对宽松,这为经验丰富的程序员提供了很大的设计自由度,可以编写出高效、通用的代码。然而,这也意味着对初学者来说,理解和调试C++程序可能更具挑战性。 学习C++的过程中,理解这些基本概念和规则至关重要,因为它们构成了C++编程的基础。通过不断实践和深入学习,可以逐渐掌握这个强大的编程工具。