![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++ 学习
文章平均质量分 61
69岁的老干部
这个作者很懒,什么都没留下…
展开
-
虚函数与多态
一、概念1.多态定义:多态是对程序通用性的追求,同一名称实现不同的功能,达到行为标识同一。2.多态的实现:编译时(静态)的多态:通过函数重载和运算符重载实现 这种多态是静态的运行时(动态)的多态 :通过类继承关系和虚函数实现 这种多态是动态的 程序执行前,无法根据函数名和参数来确定该调用哪一个函数 在执行过程中,根据执行的具体情况来动态地确定二、虚函数1.虚函数定义:虚函数必须是类的成员函数,使用关键字virtual说明2.定义格式:virtual 返.原创 2022-08-14 16:34:52 · 176 阅读 · 0 评论 -
7.3 同名覆盖与类型兼容(标识符二义性)
目录一、同名覆盖1.定义:2.前提条件:3.示例:编辑二、类型兼容1.定义:2.实现方法:3.示例 :三、比较一、同名覆盖1.定义:在派生类中添加新的函数成员时,使用和基类函数成员相同的姓名和参数表。则在使用派生类对象时,默认访问同名的新成员。注意:这里的前提条件是正常使用派生类时2.前提条件:3.示例:二、类型兼容1.定义:在任何需要基类对象的地方都可以使用共有派生类对象来代替,称为类型兼容,但反之则禁止。..原创 2022-05-14 16:38:12 · 177 阅读 · 0 评论 -
7.2 派生类的构造和析构函数
目录1、派生类构造函数的定义2、派生类构造函数的执行顺序3、派生类构造函数示例4、运行结果5、派生类的析构函数6、继承VS组合1、派生类构造函数的定义1.派生类继承了基类的数据成员2.派生类构造函数的形参表不但要包含对派生数据成员初始化的参数,还要包含对基类数据成员初始化的参数3.派生类构造函数要明确指出分配给基类的参数派生类名::派生类名(基类所需的形参, 本类新成员所需的形参):基类名1(参数表1),基类名2(参数表2)......{原创 2022-05-14 14:25:10 · 1385 阅读 · 0 评论 -
7.1 类的继承与派生
一、概述封装:现实世界中的联系将数据与数据的处理函数结合在一起,隐藏数据,数据的访问只能通过类的共有函数。继承:持续发展的开放的编程态度新的类在不破坏类的封装的特性的情况下得到了原有类的功能,并依据新的需求添加新的数据和成员。多态:对程序通用性的追求同一名称实现不同的功能,达到行为标识统一。二、基本概念继承:保持已有类的特性,而构造新类的过程称为继承。 派生:在已有类的基础上新增自己的特性,而产生新类的过程称为派生。 被继承的类称为基类或父类 派生出的原创 2022-05-14 12:25:13 · 188 阅读 · 0 评论 -
5.4 类的友元
1、概述友元关系提供了不同类或对象的成员函数之间,类的成员函数与一般函数之间进行数据共享的机制。 通俗的说,友元关系就是一个类主动声明哪些其他类或函数进而给它们提供了对本类的特许访问(访问封装于本类的数据)。2、友元函数友元函数是类中用关键字friend修饰的非成员函数。友元函数可以是一个普通函数,也可以是其他类的成员函数。虽然它.的成员函数,但是在它的函数体中可以通过对象名访问本类的私有和保护成员。3、友元函数-实例(计算两点间的距离)Point类的定义,dist函数声.原创 2022-05-04 16:16:29 · 270 阅读 · 0 评论 -
5.3 类的静态成员
目录1、定义-静态数据成员2、定义-静态函数成员3、静态数据成员、静态函数成员-实例(借书卡类)4、总结1、定义-静态数据成员类的所有对象共同拥有的一个数据成员 使用储存类型关键字"static"在类体内声明 在类体外定义或者初始化由于静态数据成员不属于任何对象,那么对象创建时就不会为他分配存储空间。为此,静态数据成员在类体内声明后,必须在类体外定义或者初始化,才能完成在全局数据去的存储分配。2、定义-静态函数成员如果需要在对象创建之前操作静态数据成员,只原创 2022-04-29 23:29:07 · 78 阅读 · 0 评论 -
4.4 类的组合
目录1、定义2、组合类的构造函数3、组合构造函数示例4、运行结果1、定义类的组合描述的就是一个类内嵌其他类的对象作为成员的情况,他们之间的关系是一种包含与被包含的关系。2、组合类的构造函数在这里,组合类的数据成员包含:对象成员 本类的其他数据成员对象的创建顺序(由小及大):先创建对象成员:调用对象成员类的构造函数。 再创建组合类的对象:执行组合类的构造函数。注意:对于对象成员的初始化,使用了初始化列表。初始化列表调用了对象成员类的构造原创 2022-04-29 22:23:14 · 137 阅读 · 0 评论 -
4.3.2 复制构造函数
目录1、定义2、语法形式3、特性4、复制构造函数调用的三种情况5、实例展示(Point 类的复制构造函数)6、运行结果1、定义对象创建时,用同类对象来初始化新对象,这种对象创建方式所调用的构造函数称为复制构造函数(Copy Constructor)。2、语法形式类名(const 类名 &对象名); //const 可以不写,其形参是本类对象的引用。3、特性复制构造函数是一种特殊的构造函数,其具有一般构造函数的所有特性。当用户没..原创 2022-04-28 15:42:08 · 145 阅读 · 0 评论 -
4.3.1 构造函数与析构函数
目录4.3.1 构造函数4.3.2 析构函数4.3.1 构造函数1.作用:构造函数的作用就是在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态。2.性质:构造函数是类的public成员。 构造函数名与类名相同,即函数名为类名。 构造函数可以重载。 构造函数可以有任意类型的参数但没有返回值。 即函数头部没有返回值类型说明。/*复数类——构造函数示例*/class Complex{ int real, imag; publ...原创 2022-04-19 20:51:54 · 431 阅读 · 0 评论