- 博客(17)
- 收藏
- 关注
原创 C++多态的基本概念
多态的基本概念 多态是C++面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定函数地址 下面通过案例进行讲解多态 #include<iostream> #include<string> using namespace std; class Father {
2022-01-21 11:00:39
374
原创 c++学习 之 运算符重载
加号运算符重载 作用:实现两个自定义数据类型相加的运算 #include<iostream> #include<string> using namespace std; class Person { public: Person() {}; Person(int a, int b) { this->m_A = a; this->m_B = b; } //成员函数实现 + 号运算符重载 Person operator+(const Person&
2022-01-19 11:10:21
490
原创 c++成员变量和成员函数存储与this指针的用途
成员变量和成员函数分开存储 在C++中,类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上 总结:除了非静态成员变量 属于类的对象上 占对象空间 其余(静态成员变量 非静态成员函数 静态成员函数)都不属于类的对象上 不占对象空间。 class Person { public: Person() { mA = 0; } //非静态成员变量占对象空间 int mA; //静态成员变量不占对象空间 static int mB; //函数也不占对象空间,所有函数共享一个函数实例
2022-01-14 11:12:54
613
原创 c++ 静态成员变量和静态成员函数
静态成员 静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员 静态成员分为: 静态成员变量 所有对象共享同一份数据 在编译阶段分配内存 类内声明,类外初始化 静态成员函数 所有对象共享同一个函数 静态成员函数只能访问静态成员变量 个人理解:静态成员 变量和函数 可以理解为 在类这个作用域内的全局变量和全局函数 ,大家都有 不是属于类中的某个对象的。而非静态成员变量是每个人独有的,不能放在公共区域,通过传入成员对象可以在静态方法中访问非静态变量。 而非静态成员变量是每个人独
2022-01-14 09:49:36
114
原创 c++浅拷贝内存重复释放与深拷贝
学习总结:深刻明白浅拷贝 内存重复释放的原因 以及深拷贝如何解决这个问题 深拷贝与浅拷贝 深浅拷贝是面试经典问题,也是常见的一个坑 浅拷贝:简单的赋值拷贝操作 深拷贝:在堆区重新申请空间,进行拷贝操作 示例: class Person { public: //无参(默认)构造函数 Person() { cout << "无参构造函数!" << endl; } //有参构造函数 Person(int age ,int height) { cout << "
2022-01-13 10:41:41
709
原创 c++类 的小练习
设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等。 #include <iostream> #include <string> using namespace std; class Cube { private: int m_l, m_w, m_h; public: int getV(int l, int w, int h);//计算体积 int getS(int l, int w, int h);//计算面积
2022-01-12 15:41:40
257
原创 C++ 中引用的一些简单概念(懒人版指针)
引用(同一个地址的变量的别名) 引用的基本使用 **作用: ** 给变量起别名 其实就是别名和原名共享同一个地址 操作 语法: 数据类型 &别名 = 原名 看起来和指针没区别,但是引用不需要担心存在野指针的问题,可以确定的是引用一直有对象。 引用注意事项 1.对引用只有声明,没有定义 2.引用必须初始化 3.在声明一个饮用后不能是指作为其他变量的引用 不能改变 4.没有引用数组 5.没有引用的引用 6.没有引用的指针 引用必须初始化 引用在初始化后,不可以改变 示例: int main(
2022-01-11 16:46:11
149
转载 C++实现简单的通讯录
收获: 培养简单的逻辑分析 工作分块的能力 学会了结构体指针的使用方法 #include<iostream> #include <string> //string头文件 using namespace std; #define MAX 1000 //通讯录最大人数 void showMenu(); void AddPerson(address_book* AddressBook); void showPerson(address_book* AddressBook)
2022-01-10 22:05:14
416
原创 const 修饰指针 基础
C++ const修饰指针 const修饰指针有三种情况 const修饰指针指向的内容,则内容为不可变量 — 常量指针 const修饰指针,则指针为不可变量 — 指针常量 const即修饰指针,又修饰指针指向的内容,则指针和指针指向的内容都为不可变量 示例: #include <iostream> #include <string> using namespace std; //const 离变量名近就是用来修饰指针变量的,离变量名远就是用来修饰指针指向的数据,如果近
2022-01-08 10:50:21
444
原创 C++实现冒泡排序(无指针 和 有指针)
c++实现 冒泡排序 冒泡排序: 最常用的排序算法,对数组内元素进行排序 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。 重复以上的步骤,每次比较次数-1,直到不需要比较 示例: 将数组 { 4,2,8,0,5,7,1,3,9 } 进行升序排序 #include <iostream> #include <string> using namespace std; int main() { int ar
2022-01-07 21:33:44
568
原创 C++实现数组元素逆置
c++实现数组元素逆置 例如:请声明一个5个元素的数组,并且将元素逆置. (如原数组元素为:1,3,2,5,4;逆置后输出结果为:4,5,2,3,1); #include <iostream> #include <string> using namespace std; int main() { int a[5] = { 22,33,11,4,555 }; int t; cout << "转置前的数组:" << endl; for (int i =
2022-01-07 20:56:50
1666
原创 LearnOpenGL学习过程
OpenGL: 一个定义了函数布局和输出的图形API的正式规范。 GLAD: 一个拓展加载库,用来为我们加载并设定所有OpenGL函数指针,从而让我们能够使用所有(现代)OpenGL函数。 视口(Viewport): 我们需要渲染的窗口。 图形管线(Graphics Pipeline): 一个顶点在呈现为像素之前经过的全部过程。 着色器(Shader): 一个运行在显卡上的小型程序。很多阶段的图形管道都可以使用自定义的着色器来代替原有的功能。 标准化设备坐标(Normalized Device Coord.
2020-10-09 20:54:40
380
原创 产品经理的工作职责初学
产品经理的工作职责 产品宣讲 产品宣讲的目的: -内部培训、让团队成员熟知产品特性与调性 -获得认可 -统一愿景 -激励士气 -获得信任支持 从不同部门看产品宣讲对其意义与作用 -客服:有i与客服人员更好的组织与理解接下来的工作、包括客服回答等处理流程 -市场:明白产品,有利于市场人员更为提前的准备他们的推广战略技术,如何包装产品等 -销售:明白产品、有利于销售人员提前和现有客户沟通,做好销售预热...
2019-01-17 20:06:43
187
原创 产品经理深入浅出学习笔记
@TOC产品经理深入浅出学习笔记 发现市场需求 -> 商业需求文档(BRD)-> 组织团队头脑风暴(关键节点把控,梳理思路)-> 面对团队中出现的各种阻力与不同意见、能有效的化解与统一、激励团队、产品的原型设计->产品原型的验证-> 用户需求分析与把控-> 产品高保源型图定制-> 配合项目经理、开展研发工作-> 配合市场营销团队、开展市场营销工作-&...
2019-01-16 20:31:39
435
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人