C++编程:类的定义与注意事项

需积分: 48 2 下载量 200 浏览量 更新于2024-08-24 收藏 8.82MB PPT 举报
"在定义一个类时要注意如下几点:1、类具有封装性,不应使用extern,auto或register限定存储类型。2、定义类时不分配存储空间,因此不能在类中初始化数据成员。例如,`int x=5,y=6;` 或 `extern float x;` 是不允许的。" 在C++编程中,类(Class)是面向对象编程的基础,它扮演着构造数据类型的角色。谭浩强的经典C教程中强调了定义类时应注意的关键点: 1. **封装性**:封装是面向对象编程的核心概念之一,它允许我们将数据和操作这些数据的方法捆绑在一起,形成一个独立的单元,即类。这样做可以隐藏内部实现细节,只对外暴露必要的接口。因此,在类的定义中,不应使用`extern`,`auto`或`register`这些关键字来指定存储类型,因为它们通常用于变量声明,而不是在类的上下文中。 2. **类的实例化与数据成员初始化**:定义一个类仅仅是创建了一个模板,它并不实际分配内存。类中的数据成员(成员变量)应在类的实例(对象)被创建时进行初始化,而不是在类的定义中。示例中提到的`int x=5,y=6;` 和 `extern float x;` 这样的初始化或声明是不被允许的,因为它们试图在类定义阶段就初始化或声明成员变量,这是错误的。正确的做法是在类的构造函数中初始化数据成员,或者在创建对象时赋予初始值。 C++的发展历程也值得我们了解,它由C语言演化而来,增加了面向对象的特性,如类、继承、多态等。C++在保留了C语言的效率和灵活性的同时,引入了更多抽象和模块化的能力,使得程序设计更加高效且易于维护。C++的这些特性使得它成为编写复杂系统软件、游戏引擎、嵌入式系统等领域的首选语言。 C语言的主要特点包括: - 结构化编程:C语言提供了清晰的控制结构,便于编写模块化的程序。 - 高级与低级语言的结合:丰富的运算符支持,包括位运算,使其既能处理复杂的逻辑,也能进行底层操作。 - 可移植性:由于C语言的编译依赖于标准,程序可以在多种平台上轻松移植。 - 灵活度:C语言的语法相对宽松,给程序员很大的自由度,但也意味着需要更严谨的编程习惯,对于初学者可能更具挑战性。 C++是在C语言基础上的扩展,增加了类、模板、异常处理、虚函数等面向对象特性,旨在提高代码的可重用性和可维护性。学习C++时,理解这些基本概念和原则至关重要,同时也需要掌握如何有效地使用这些工具来解决实际问题。