面向对象
文章平均质量分 69
leimingzeOuO
已退役
展开
-
基于多态的职工管理系统
写在开头- 参考《黑马程序员c++核心编程》 //boss.h #pragma once #include <bits/stdc++.h> #include "worker.h" using namespace std; class Boss :public Worker { public: Boss(int id, string name, int dId); virtual void showInfo(); virtual string getDeptName(); }; //emp原创 2021-10-16 11:29:36 · 120 阅读 · 0 评论 -
【c++】文件操作
写在开头:参考《黑马程序员c++》核心编程 5.1 文本文件 5.1.1写文件 写文件步骤如下: 包含头文件 #include 创建流对象 ofstream ofs; 打开文件 ofs.open(“文件路径”,打开方式); 写数据 ofs<<“写入的数据”; 关闭文件 ofs.close(); 文件打开方式: 打开方式 解释 ios::in 为读文件而打开文件 ios::out 为写文件而打开文件 ios::ate 初始位置:文件尾 ios:原创 2021-10-15 17:25:33 · 173 阅读 · 0 评论 -
【c++】内存分区模型,引用,函数提高
1. 内存分区模型 cpp程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理 全局区:存放全局变量和静态变量以及常量 栈区:有编译器自动分配释放,存放函数的参数值,局部变量等等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区的意义: 不同区域存放的数据,赋予不同的声明周期,给我们更大的灵活编程 1.1程序运行前 在程序编译后,生成了exe可执行程序,为执行该程序前分为两个区域 代码区: 存放CUP执行的机器指令 代码是共享的,共享原创 2021-10-12 22:22:01 · 91 阅读 · 0 评论 -
【c++】多态
4.7 多态 4.7.1 多态的基本概念 多态时cpp面向对象的三大特性之一 多态分为两类 静态多态:函数重载和运算符重载属于静态多态,复用函数名 动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定函数地址 class Animal { public: //Speak函数就是虚函数 //函数前面加上virtual关键字,变成虚函数,那么编译器在编译的时候就不能确定函数调用了。 virt原创 2021-10-11 22:56:59 · 70 阅读 · 0 评论 -
【c++】运算符重载,继承
写在开头 参考《黑马c++核心编程》 4.5 运算符重载 运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 4.5.1 加号运算符重载 作用:实现两个自定义数据类型相加的运算 #include <bits/stdc++.h> using namespace std; class Person { public: int m_A; int m_B; public: Person() {};//无参默认构造 Person(int a, int b)//有参构原创 2021-10-11 02:04:49 · 492 阅读 · 0 评论 -
【c++】cpp对象类型和this指针,友元
4.3 cpp对象模型和this指针 4.3.1成员变量和成员函数分开存储 在cpp中,类内成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上 #include <bits/stdc++.h> using namespace std; class Person { public: int mA = 0;//非静态成员变量占对象空间 static int mB;//静态成员变量不占对象空间 public: void func()//函数不占用对象空间,所有函数共享一个函数 {原创 2021-10-10 01:14:44 · 292 阅读 · 0 评论 -
【c++】封装,对象的初始化和清理
写在开头 参考黑马程序员c++核心编程 4.类和对象 4.1 封装 封装是C++面向对象三大特性之一 4.1.1封装的意义 (1).将属性和行为作为一个整体,表现生活中的事物 (2).将属性和行为加以权限控制 封装的意义一: 在设计类的时候,属性和行为写在一起,表现事物 示例1:设计一个圆类,求圆的周长 #include <bits/stdc++.h> using namespace std; const double PI = 3.14; //封装的意义: //将属性和行为作为一个整体,用来表原创 2021-10-09 01:25:20 · 207 阅读 · 0 评论