文章分类 -  C/C++

1 2 3 4 5 ··· 9 下一页
摘要:通讯录管理系统 菜单功能 功能描述:用户选择功能的界面 菜单界面效果如下图: 步骤: * 1.封装函数显示该界面,如 void showMenu() * 2.在main函数中调用封装好的函数 //封装函数显示该界面,如 void showMenu() //在main函数中调用封装好的函数 // #i 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(289) 评论(0) 推荐(0)
摘要:继承是面向对象三大特性之一 有些类与类之间存在特殊的关系,例如下图中: 我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。 这时我们就可以考虑利用继承的技术,减少重复代码。 代码示例: #include <iostream> using namespace std; //继承 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(54) 评论(0) 推荐(0)
摘要:C++之友元 生活中你的家有客厅(public),有你的卧室(Private) 客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去,但是呢,你也可以允许你的好闺蜜好基友进去。 在程序里,有些私有属性也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术。 友元的目的就是让一 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(73) 评论(0) 推荐(0)
摘要:问题:继承中同名的静态成员在子类对象上如何进行访问? 静态成员和非静态成员出现同名,处理方式一致。 1.访问子类同名成员 直接访问即可 2.访问父类同名成员 需要加作用域 代码示例: #include <iostream> using namespace std; //继承中的同名静态函数处理方式 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(58) 评论(0) 推荐(0)
摘要:子类继承父类后,当创建子类对象,也会调用父类的构造函数 问题:父类和子类的构造和析构顺序谁先谁后? 代码示例: #include <iostream> using namespace std; //继承中的构造和析构顺序 class Base { public: Base() { cout << " 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(107) 评论(0) 推荐(0)
摘要:C++纯虚函数和抽象类 在多态中,通常父类中虚函数的实现是毫无疑义的,主要都是调用子类重写的内容,因此可以将虚函数改为纯虚函数 纯虚函数语法: virtual 返回值类型 函数名 (参数列表)=0; 当类中有了纯虚函数,这个类也称为抽象类 抽象类特点: * 无法实例化对象 * 子类必须重写抽象类中的 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(77) 评论(0) 推荐(0)
摘要:多态的基本概念 多态是C++面向对象三大特性之一 多态分为两类: 静态多态:函数重载和运算符重载属于静态多态,复用函数名 动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态的区别: 静态多态的函数地址早绑定—编译阶段确定函数地址 动态多态的函数地址晚绑定—运行阶段确定函数地址 下面通过案例进 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(159) 评论(0) 推荐(0)
摘要:函数模板案例 案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型进行排序。 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 代码示例: #include<iostream> using namespace std; //实现通用 对数组进行排序的函数 // 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(156) 评论(0) 推荐(0)
摘要:C++类模板与继承 当类模板碰到继承时,需要注意以下几点: 当子类继承父类是一个类模板时,子类在声明的时候,要指定出父类中T的类型 如果不指定,编译器无法给予子类分配内存 如果想灵活指定出父类中T的类型,子类也需变为类模板 代码示例: #include<iostream> using namespa 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(186) 评论(0) 推荐(0)
摘要:普通函数与函数模板调用规则 调用规则如下: 1.如果函数模板和普通模板都可以实现,优先调用普通函数 2.可以通过空模板参数列表来强制调用函数模板 3.函数模板也可以发生重载 4.如果函数模板可以产生更好的匹配,优先调用函数模板 代码示例: #include<iostream> using names 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(224) 评论(0) 推荐(0)
摘要:C++类模板中成员函数创建时机 类模板中成员函数和普通类中成员函数创建时机是有区别的: 1.普通类中的成员函数一开始就可以创建 2.类模板中成员函数在调用时才创建 代码: #include<iostream> using namespace std; //类模板中成员函数创建时机 //1.普通类中的 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(203) 评论(0) 推荐(0)
摘要:** 1.模板 ** 1.1模板的概念 模板就是建立通用的模具,大大提高复用性。 1.2函数模板 * C++另一种编程思想称为泛型编程,主要利用的就是模板 * C++提供两种模板机制函数模板和类模板 1.2.1函数模板语法 函数模板作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定, 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(130) 评论(0) 推荐(0)
摘要:设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等 代码示例: #include <iostream> using namespace std; //立方体类设计 //1.创建立方体类 //2.设计属性 //3.设计行为 获取立方体面积和体 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(161) 评论(0) 推荐(0)
摘要:封装是C++面向对象三大特性之一 封装的意义: 1.将属性和行为作为一个整体,表现生活的事物。 2.将属性和行为加以权限控制 封装意义一: 在设计类的时候,属性和行为写在一起,表现事物 语法: class 类名{ 访问权限:属性/行为}; 案例:设计一个圆类,求圆的周长 示例代码: #include 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(75) 评论(0) 推荐(0)
摘要:信号的生命周期? 信号产生-》信号在进程中注册-》信号在进程中的注销-》执行信号处理函数 信号的产生方式? (1)当用户按某些终端键时产生信号(2)硬件异常产生信号【内存非法访问】(3)软件异常产生信号【某一个条件达到时】(4)调用kill函数产生信号【接受和发送的所有者必须相同,或者发送的进程所有 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(613) 评论(0) 推荐(0)
摘要:继承中的对象模型 问题:从父类继承过来的成员,哪些属于子类对象中? 代码示例: #include <iostream> using namespace std; //继承中的对象模型 class Base { public: int m_A; protected: int m_B; private: 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(43) 评论(0) 推荐(0)
摘要:案例描述: 分别利用普通写法和多态技术,设计实现两个操作数进行运算的计算器类 多态的优点: 1.代码组织结构清晰 1.可读性强 1.利于前期和后期的扩展以及维护 代码示例: #include <iostream> using namespace std; #include<string> //分别利 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(92) 评论(0) 推荐(0)
摘要:问题:当子类与父类出现同名的成员,如何通过子类对象,访问带子类或父类中同名的数据? 1.访问子类同名成员 直接访问即可 2.访问父类同名成员 需要加作用域 代码示例: #include <iostream> using namespace std; //继承同名成员处理方式 class Base { 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(93) 评论(0) 推荐(0)
摘要:C++多继承语法 C++允许一个类继承多个类 语法:class 子类:继承方式 父类1,继承方式 父类2… 多继承可能引发父类中有同名成员出现,需要加作用域区分 C++实际开发中不建议用多继承 代码示例: #include <iostream> using namespace std; //多继承语 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(142) 评论(0) 推荐(0)
摘要:C++类模板对象做函数参数 学习目标: * 类模板实例化出的对象,向函数传参的方式 一共有三种传入方式: 1.指定传入的类型 直接显示对象的数据类型(常用) 2.参数模板化 —将对象中的参数变为模板进行传递 3.整个类模板 —将这个对象类型模板进行传递 代码示例: #include<iostream 阅读全文
posted @ 2022-02-13 12:52 黑马金牌编程 阅读(206) 评论(0) 推荐(0)

1 2 3 4 5 ··· 9 下一页