C++面向对象程序设计:类组合与构造函数

需积分: 9 3 下载量 171 浏览量 更新于2024-08-23 收藏 3.83MB PPT 举报
"类组合的构造函数设计是C++中面向对象编程的一个重要概念,主要涉及如何在创建类实例时有效地初始化对象成员。在这个主题中,何洁月教授的东南大学C++课程强调了构造函数在初始化类及其对象成员时的角色。 在C++中,构造函数是一种特殊类型的函数,用于在创建对象时自动执行初始化操作。其主要职责是为类中的基本类型成员数据赋初值,并对对象成员进行初始化。构造函数的声明通常与类名相同,并且可以带有参数,这些参数可以用来设置类的初始状态。 构造函数的声明形式如下: ```cpp 类名::类名(对象成员所需的形参,本类成员形参) : 对象1(参数), 对象2(参数), ... { 本类初始化 } ``` 在给定的例子中,`Point` 类有一个构造函数,它接受两个整数参数 `xx` 和 `yy`,分别用于初始化 `x` 和 `y` 成员变量: ```cpp Point(int xx=0,int yy=0){x=xx;y=yy;} ``` `Distance` 类的构造函数则展示了类组合的概念,它接收两个 `Point` 对象和一个 `double` 参数 `p`,并将它们分别赋值给 `p1`、`p2` 成员以及计算距离并初始化 `dist`,同时设置价格 `price`: ```cpp Distance:: Distance(Point a, Point b, double p) : p1(a), p2(b) { double x = double(p1.GetX() - p2.GetX()); double y = double(p1.GetY() - p2.GetY()); dist = sqrt(x * x + y * y); price = p; } ``` 这里,`p1(a)` 和 `p2(b)` 是成员初始化列表,它们使用了传入的 `Point` 对象来初始化相应的成员。这种构造函数设计确保了对象成员在类实例化时被正确地初始化。 课程的目标是使学生建立起基本的计算机程序设计概念,理解和掌握C++语言的基本语法和语义,特别是面向对象的思想。通过学习,学生应能初步运用面向对象程序设计方法,提升编程和调试能力。课程涵盖了从语言概述、基本数据类型、控制结构到函数、类与对象等核心内容,最终达到利用C++进行高效对象导向编程的能力。 课程内容包括: 1. 计算机程序设计语言的发展和面向对象方法的介绍。 2. C++的简单程序设计,如基本数据类型、输入/输出、控制结构和自定义数据类型。 3. 函数的使用,包括内联函数、默认参数、重载和模板。 4. 面向对象编程的基础,如类、对象、构造函数、析构函数、类的组合以及类模板。 5. 其他高级特性,如面向对象标记。 通过这些内容的学习,学生将能够熟练掌握C++的面向对象特性,为后续的软件开发打下坚实的基础。