还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
面向对象基础C本课程将深入浅出地介绍语言面向对象编程的基础知识,帮助你掌握面向对象C编程的核心概念,并能够使用语言编写面向对象的代码C什么是面向对象程序设计范式核心概念一种以对象为中心的编程思想,将现实世界中的事物抽象成对象封装、继承和多态是面向对象的三大核心概念,它们协同工作,,通过对象之间的交互来完成任务使程序更加模块化、可重用和可扩展类和对象的概念类对象类是对象的抽象描述,它定义了对象拥有的数据成员和方法,对象是类的实例,它拥有类的所有数据成员和方法,可以执行以及对象的行为和特征类可以看作是创建对象的模板类定义的行为对象是程序中的具体存在类的定义与声明类定义1使用关键字定义类,并包含成员变量和成员函数`class`成员变量2类的属性,描述对象的特征,如名称、年龄等成员函数3类的行为,描述对象的功能,如行走、说话等成员变量和成员函数成员变量成员函数成员变量是类中定义的数据成员它表示对象的状态信息成员变成员函数是类中定义的操作成员它描述类对象的行为方式成员量用来描述类对象自身所具有的属性函数用来描述类对象可以进行的操作或行为访问控制修饰符公有私有public private12类外部可以访问只能在类内部访问保护3protected类本身和其子类可以访问构造函数和析构函数构造函数1对象创建时自动调用,初始化成员变量析构函数2对象销毁时自动调用,释放资源作用3确保对象在创建和销毁过程中的正确状态拷贝构造函数创建新对象时,使用现有对象初始化新对象将一个对象的所有成员变量的值复制到新对避免重复创建对象,提高代码效率象中指针this指向当前对象的指针隐式传递访问成员123在成员函数内部,指针始终指向指针由编译器隐式传递给每个非通过指针可以访问当前对象的成this thisthis调用该函数的对象静态成员函数,无需显式声明员变量和成员函数静态成员变量和静态成员函数静态成员变量静态成员函数属于类本身,而不是类的对象可以通过类名直接访问友元函数和友元类友元函数友元类允许非成员函数访问类的私有成允许整个类访问另一个类的私有员成员继承的基本概念代码复用类层次结构继承可以有效地复用父类的代码,减建立类之间的层次关系,体现概念上少重复编写的继承关系扩展功能子类可以扩展父类的功能,添加新的成员变量和成员函数访问控制与继承公有继承私有继承保护继承基类的公有成员在派生类中仍然是公有的基类的所有成员在派生类中都是私有的,基类的公有成员和保护成员在派生类中成,可被派生类对象直接访问派生类对象无法直接访问基类的成员,只为保护成员,派生类对象无法直接访问,能通过派生类自己的成员函数访问但派生类的成员函数可以访问虚函数和多态虚函数多态在基类中使用关键字声明的函数称为虚函数是指同一个函数调用,根据对象的实际类型产生不同的行为virtual当派生类重写虚函数时,运行时会根据对象的实际类型调用对应虚函数是实现多态性的关键机制的函数纯虚函数与抽象类纯虚函数抽象类没有函数体,只有函数声明,以包含至少一个纯虚函数的类,无结尾法直接实例化“=0”作用定义接口,强制子类实现具体功能虚析构函数安全释放内存多态性防止内存泄漏,确保子类对象被通过基类指针释放子类对象时,正确销毁确保调用正确的析构函数运算符重载运算符重载重载规则语法允许自定义运算符的行为,使其适用于用户运算符重载必须定义为类成员函数或友元函使用关键字,例如operator operator+定义的类型数,等operator-类型转换隐式转换显式转换自定义转换编译器自动完成的类型转换使用类型转换运算符手动完成使用转换构造函数或转换运算符重载动态内存分配动态内存分配操作符程序运行时,在堆上申请内存空使用和操作符进new delete间用于分配可变大小的内存行动态内存分配和释放内存管理开发人员需手动管理分配的内存,避免内存泄漏和非法访问异常处理异常处理机制可以提高程序的健壮性通过异常处理,可以将错误处理代码,在程序出现错误时,能够及时捕获与正常代码分离,使代码结构更加清并处理错误,避免程序崩溃晰提供了异常处理机制,可以使用C++、和关键字来实现try catchthrow异常处理模板类代码复用类型安全模板类可以用于创建可用于不同模板类在编译时进行类型检查,数据类型的通用类,从而减少代确保代码的类型安全,避免运行码重复时错误提高效率模板类可以减少代码量,提高代码的可读性和可维护性标准模板库STL容器算法迭代器容器提供了一种存储和管理数据元素的方算法提供了一组通用的操作,例如排序、迭代器提供了一种访问容器元素的方式,式,例如向量、列表、集合搜索、查找等,可以应用于不同的容器方便地遍历容器中的元素vector list等set容器类数组链表树存储固定大小的元素,元素类型相同,访问存储动态大小的元素,元素类型相同,插入通过父子关系组织数据,适合进行高效的查速度快,但大小不可动态改变和删除速度快,但随机访问速度慢找和排序操作,但也需要额外的空间开销迭代器访问容器元素遍历容器元素迭代器提供了一种访问容器元素迭代器可以用于遍历容器中的所的标准方式,无需了解容器的内有元素,并执行相应的操作部实现通用性迭代器是通用的,适用于各种容器类型,如数组、链表、树等算法排序算法查找算法图算法冒泡排序、插入排序、快速排序、归并排序线性查找、二分查找、哈希查找等深度优先搜索、广度优先搜索、最短路径算等法等适配器功能适配数据类型适配行为适配适配器提供不同接口之间的桥梁,例如将适配器可以将不同类型的数据转换为另一种适配器可以修改对象的行为,例如将一个类端口连接到电源插座类型,例如将字符串转换为数字的接口调整为另一个接口USB仿函数概念优势应用仿函数,也称为函数对象,是将函数行为仿函数可以作为参数传递,实现灵活的函中广泛使用仿函数,例如STL std::sort封装到对象中的技术数调用方式和的比较函数std::for_each空间分配器内存管理自定义分配策略12负责分配和释放内存空间,保可根据特定需求调整内存分配证程序高效运行方式,例如优化性能或降低内存碎片化提高效率3通过定制化的内存管理,可以提高程序的效率,减少内存泄漏问题总结与展望本课程介绍了面向对象编程的基础知识,包括类、对象、继承、多态等重要C++概念在学习完这些知识后,你将能够更好地理解语言,并开发出更加复杂C++、高效的程序。
个人认证
优秀文档
获得点赞 0