C++面向对象:在main中定义C类对象与继承特性

需积分: 10 0 下载量 57 浏览量 更新于2024-08-19 收藏 5.16MB PPT 举报
在C++面向对象程序设计中,主要知识点包括类和对象的概念、声明与定义、成员函数以及封装性。当你在main函数中定义C类的对象c1,如`C c1;`,这是创建了一个基类C的对象实例。由于派生类默认会屏蔽基类的同名成员,因此在这里访问`c1.a= 3;`和`c1.display();`会被认为是操作派生类的成员变量a和调用派生类的display函数。然而,这并不意味着基类成员被完全忽略,若要明确访问基类A的成员,需要指定作用域,如`c1.A::a= 3;`和`c1.A::display();`。 2.1 面向对象程序设计方法概述 面向对象编程(OOP)是一种编程范式,它将现实世界中的概念抽象为对象,以模拟现实世界中的实体和它们之间的交互。C++作为一种OOP语言,强调类(Class)的定义,类包含属性(数据成员,如成员变量)和行为(成员函数,操作代码),实现了数据和功能的封装。类与对象的关系就如同汽车的各个部件,对象是系统的基本单元,具有静态属性(如制造商、型号)和动态行为(如启动、关闭)。 2.2 类和对象的声明与定义 在C++中,通过关键字`class`或`struct`来声明类,之后通过花括号{}定义类的成员。对象则是类的实例,通过类名后跟一对括号`()`来创建。例如,`C c1;`定义了一个名为c1的C类对象。 2.3 成员函数 成员函数是类的一部分,用于操作类的属性或执行特定任务。在定义对象时,可以直接访问其成员函数,如`c1.display();`。函数名相同且参数匹配时,即使基类和派生类有同名函数,也会调用派生类的版本,体现了继承和多态性。 2.4 对象成员的引用 对象成员的引用允许我们更直接地访问和修改对象的属性,提高了代码的可读性和灵活性。在C++中,可以通过`.`运算符和`->`运算符进行成员访问。 2.5 封闭性和信息隐蔽 面向对象编程的一个关键特性是封装,它隐藏了对象的内部细节,只对外提供必要的接口。这有助于维护代码的完整性,避免直接修改对象的属性,如`c1.a`,需要通过`c1.display();`这样的公共接口间接操作。 在实际编程中,理解并掌握类和对象的使用、成员函数、作用域以及封装性至关重要,它们是构建复杂程序的基础。通过在main函数中定义和操作C类对象,程序员能够灵活地组织和管理代码,实现更加模块化和可维护的设计。