还剩21页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C++课件第十二章类的其它特性目录•友元•虚函数CONTENT•静态成员•运算符重载•类的其它特性总结01友元什么是友元友元是一种特殊的成员,它可友元可以是函数、类或另一个友元关系不具有传递性,即如以访问类的私有和保护成员类中的成员函数果类A是类B的友元,类B不一定是类A的友元友元函数友元函数是一个独立的函数,它被声明为类的友元,从而可以访问类的私有和保护成员友元函数不是类的成员函数,但它可以像成员函数一样访问类的私有和保护成员友元函数通常用于实现运算符重载、类型转换等友元类友元类是一个完整的类,它被声友元类可以访问另一个类的所有友元类通常用于实现复杂的算法明为另一个类的友元成员,包括私有和保护成员或数据结构,需要访问类的私有和保护成员02虚函数什么是虚函数虚函数是在基类中声明为virtual它允许在派生类中被重写虚函数的主要目的是实现动态绑的成员函数(override),并且通过基类指定,即在运行时确定调用哪个函针或引用调用时,会根据实际对数象的类型来决定调用哪个函数动态绑定和静态绑定静态绑定(Early Binding)是指在编虚函数通过动态绑定实现了多态性,译时期根据变量的类型确定绑定的目使得在运行时期能够根据对象的实际标类型来调用相应的函数实现动态绑定(Late Binding)是指在运行时期根据对象的实际类型确定绑定的目标纯虚函数和抽象类纯虚函数(Pure VirtualFunction)抽象类(Abstract Class)是指包含是在基类中声明为virtual且没有实现至少一个纯虚函数的类(即没有函数体)的成员函数抽象类不能被实例化,只能作为其他纯虚函数和抽象类是实现多态性的重类的基类派生类必须实现基类中的要手段,它们使得可以根据实际需要所有纯虚函数,才能被实例化派生出不同的类,并且通过虚函数实现动态绑定03静态成员什么是静态成员静态成员是类中独立静态成员在所有对象于对象存在的成员之间共享同一份数据静态成员不属于任何一个类的对象,而是属于类本身静态数据成员静态数据成员是类的所有对象共享的数静态数据成员在类中只有一个实例,无静态数据成员的初始化只进行一次,且据论创建多少个类的对象,都只使用同一在类外部进行个静态数据成员静态成员函数静态成员函数是属于类本身而非类的对象的函数静态成员函数可以在没有创建类的对象的情况下调用静态成员函数只能访问静态数据成员和静态常量数据成员04运算符重载什么是运算符重载01运算符重载是指允许程序员为类定义特殊的运算符行为,使得这些运算符在类中具有特殊的意义和功能02通过运算符重载,我们可以为自定义类创建符合语义的运算符,使得代码更加简洁、易读运算符重载的规则运算符重载必须有一个运算符作为成员函数或者友元函数运算符重载不能改变运算符的优先级和结合性运算符重载必须保持语义的一致性,不能随意改变运算符的含义运算符重载的例子重载加法运算符用于两个自定义类的对象相加,实现对象的合并功能重载赋值运算符用于自定义类的对象之间的赋值操作,实现对象的复制功能重载流插入运算符和流提取运算符用于将自定义类的对象输出到流中或从流中读取对象05类的其它特性总结类的作用域和可见性作用域定义了变量、函数和类的作用范围C提供了三种类型的作用域全局作用域、局部作用域和类作用域可见性描述了变量、函数和类的可访问性C提供了四种类型的可见性public、protected、private和default(没有标识符)类模板和模板类类模板允许定义一个通用的类,该类可以处理多种数据类型类模板使用尖括号定义,并在尖括号中指定模板参数模板类使用类模板定义的类称为模板类模板类可以创建不同类型的对象,并使用不同的数据类型来处理数据类和对象的创建与销毁创建使用关键字new来创建类的对象new操作符会在堆上分配内存,并返回指向新创建对象的指针销毁使用关键字delete来销毁类的对象delete操作符释放由new分配的内存,并执行对象的析构函数感谢您的观看THANKS。
个人认证
优秀文档
获得点赞 0