上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 44 下一页
摘要: 1 模板 1.1 模板的概念 模板就是建立通用的模具,大大提高复用性 模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 1.2 函数模板 C++另一种编程思想称为 ==泛型编程== ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 1.2.1 函数模板语法 阅读全文
posted @ 2022-04-11 23:07 安静点-- 阅读(117) 评论(0) 推荐(0)
摘要: 文件操作 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过文件可以将数据持久化 C++中对文件操作需要包含头文件 ==< fstream >== 文件类型分为两种: 文本文件 - 文件以文本的ASCII码形式存储在计算机中 二进制文件 - 文件以文本的二进制形式存储在计算机中,用 阅读全文
posted @ 2022-04-10 23:09 安静点-- 阅读(81) 评论(0) 推荐(0)
摘要: 案例描述: 电脑主要组成部件为 CPU(用于计算),显卡(用于显示),内存条(用于存储) 将每个零件封装出抽象基类,并且提供不同的厂商生产不同的零件,例如Intel厂商和Lenovo厂商 创建电脑类提供让电脑工作的函数,并且调用每个零件工作的接口 测试时组装三台不同的电脑进行工作 示例: #incl 阅读全文
posted @ 2022-04-10 22:33 安静点-- 阅读(67) 评论(0) 推荐(0)
摘要: 虚析构和纯虚析构 多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码 解决方式:将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性: 可以解决父类指针释放子类对象 都需要有具体的函数实现 虚析构和纯虚析构区别: 如果是纯虚析构,该类属于抽象类,无法实例化 阅读全文
posted @ 2022-04-10 19:09 安静点-- 阅读(116) 评论(0) 推荐(0)
摘要: 案例描述: 制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶 //抽象制作饮品 class AbstractDrinking { public: //烧水 virtual void Boil() = 0; //冲泡 阅读全文
posted @ 2022-04-10 18:11 安静点-- 阅读(45) 评论(0) 推荐(0)
摘要: 纯虚函数和抽象类 在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容 因此可以将虚函数改为纯虚函数 纯虚函数语法:virtual 返回值类型 函数名 (参数列表)= 0 ; 当类中有了纯虚函数,这个类也称为==抽象类== 抽象类特点: 无法实例化对象 子类必须重写抽象类中的纯虚 阅读全文
posted @ 2022-04-10 18:09 安静点-- 阅读(41) 评论(0) 推荐(0)
摘要: 多态的基本概念 多态是C++面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定函数地址 下 阅读全文
posted @ 2022-04-10 18:02 安静点-- 阅读(58) 评论(0) 推荐(0)
摘要: 菱形继承概念: ​ 两个派生类继承同一个基类 ​ 又有某个类同时继承者两个派生类 ​ 这种继承被称为菱形继承,或者钻石继承 典型的菱形继承案例: 菱形继承问题: 羊继承了动物的数据,驼同样继承了动物的数据,当草泥马使用数据时,就会产生二义性。 草泥马继承自动物的数据继承了两份,其实我们应该清楚,这份 阅读全文
posted @ 2022-04-10 17:31 安静点-- 阅读(86) 评论(0) 推荐(0)
摘要: C++允许一个类继承多个类 语法: class 子类 :继承方式 父类1 , 继承方式 父类2... 多继承可能会引发父类中有同名成员出现,需要加作用域区分 ,所以C++实际开发中不建议用多继承 示例: class Base1 { public: Base1() { m_A = 100; } pub 阅读全文
posted @ 2022-04-10 17:07 安静点-- 阅读(151) 评论(0) 推荐(0)
摘要: 继承同名静态成员处理方式 问题:继承中同名的静态成员在子类对象上如何进行访问? 静态成员和非静态成员出现同名,处理方式一致 访问子类同名成员 直接访问即可 访问父类同名成员 需要加作用域 示例: class Base { public: static void func() { cout << "B 阅读全文
posted @ 2022-04-10 17:03 安静点-- 阅读(54) 评论(0) 推荐(0)
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 44 下一页