
c++
文章平均质量分 65
哈·星
这个作者很懒,什么都没留下…
展开
-
2021-04-30
C++对C语言的升级 C++独有的特质 C++与Java的区别 函数重载的原理 C++对象移动解决的问题 结构体与类的区别 有几种构造函数 每种构造函数解决的问题 初始化列表作用 什么是引用 引用解决的问题 C++的强制类型转换 C语言与C++static关键字的区别 重载与重写的区别 类之间的关系 继承规则 继承构造函数的调用顺序 继承的二义性 多态的实现 多态的实现机制 多态的形成条件 正则表达式 C语言的异常处理 GC机制 C++为什么没有GC机制(内存管理) 模板的偏特化与全特化 new与mallo原创 2021-04-30 11:44:08 · 129 阅读 · 0 评论 -
0429嵌入式学习笔记 (33)拷贝构造函数/继承/多态
拷贝构造函数: 形参是该类型的对象引用,若类里无自定义拷贝构造函数系统会默认生成拷贝构造函数;函数返回值 移动拷贝构造函数:解决临时对象拷贝的开销问题 可以把一个函数指定为友元,也可以把整个类指定成友元 某类的友元函数的作用域并非该类作用域,如果该友元函数是另一类的成员函数,则其作用域为另一类的作用域否则与一般的函数相同 函数不是类的一部分,但又需要频繁的访问类的数据成员 成员函数和友元函数重载的选择 一般情况下,单目运算符最好重载为类的成员函数;双目运算符最好重载为友元函数 -> = () [] 类原创 2021-04-29 11:44:11 · 225 阅读 · 0 评论 -
0429 嵌入式学习笔记 (32)STL标准模板库/类的方法
文章目录STL(标准模板库) STL(标准模板库) 从逻辑层面看,在STL中体现了泛型化程序设计思想 从实现层次看,整个STL是以一种类型参数化的方式实现的 STL六大组件 1、容器 2、迭代器 3、算法 4、适配器 5、分配器 容器:vector,list,deque,stack,queue vector:向量容器:连续存储元素 list:双向链表 deque:双队列 stack:栈:先进先出的值的排列 queue:队列先进先出的值的排列 string string s1=“hello world” st原创 2021-04-28 17:44:08 · 245 阅读 · 1 评论 -
0427 嵌入式学习笔记 (31)模板
#include<iostream> using namespace std; template <class T> class Queue { public: Queue(int size) { len = 0; size = 30; dp = new T[size]; start = 0; end = -1; } void push(T dat);//入队操作 T pop();//出队操作原创 2021-04-27 11:44:34 · 81 阅读 · 0 评论 -
0426 嵌入式学习笔记 (30)模板/类模板
文章目录模板类模板 模板 参数多态化的工具(根据指定参数类型动态处理) GC:所谓参数多态化,是指将程序所处理的对象的类型参数化,使一段程序代码可以用于处理不同类型的对象 作用: 采用模板编程,可以为各种逻辑功能相同而数据类型不同的程序提供一种代码共享的机制 函数模板:通用函数,用虚拟数据类型代替,等到运行时才进行类型替换 template< typename T> //T就是虚拟的数字类型 隐式调用:由编译器自行推导数据类型称为隐式调用,不由程序员指定 显式调用:不由编译器推导,由程序员指原创 2021-04-26 17:45:35 · 128 阅读 · 0 评论 -
0425 嵌入式学习笔记 (29)运算符的重载
补充:c++里::的作用 声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时, 就要写成void A::f(),表示这个f()函数是类A的成员函数。 ::域名解析符 返回值类型名 类名::函数成员名(参数表) { 函数体 } 这个是在类内声明函数后在类外定义的一种方法! 如果不加"类名::"的话,编译系统就不会知道你的函数属于哪个类; 另外,这样定义函数一定要在类中声明之后,说明它是类的成员函数才可以! 在类内声明的时候就不需要::了,直接 返回值.原创 2021-04-25 09:42:04 · 119 阅读 · 0 评论 -
0423 嵌入式学习笔记 (28)继承
单继承 #include<iostream> using namespace std; //写一个 人类 类 class People { public: void setname(const char * name); void setage(int age); const char * getname(); int getage(); void display() { cout << getname() <&l原创 2021-04-23 11:45:12 · 184 阅读 · 0 评论 -
0422 嵌入式学习笔记(27)complex/this指针/初始化列表/析构函数
构造函数特点: 1、函数名和类名相同 2、无返回值 complex(){} 1、构造函数允许重载 2、每一个类都有自带的默认构造函数 3、一旦你自己定义了构造函数,会将原本系统默认的构造函数覆盖 4、构造函数没有返回值 5、类complex的复制构造函数不能带有complex类型的参数 6、类的对象作为参数传入,会调用复制构造函数,产生新的对象 this指针 当类没有复制构造函数的时候,=的作用就只是引用(s4) 匿名对象:生命周期只存在于创建的那一行代码,超过那一行会立刻被释放 析构函数:将构造函数进行解原创 2021-04-22 11:44:01 · 315 阅读 · 0 评论 -
0420 嵌入式学习笔记 (25)输入与输出/C++对C语言的升级
文章目录输入与输出C++对C语言的升级关键字的升级类型的升级malloc\free函数的升级 嵌入式面向对象编程 学习目标:掌握嵌入式GUI(图形化界面)开发-QT库 1. 解决命名冲突 1、c语言中解决命名冲突的方法:使用static关键字 作用: 修饰局部变量:延长局部变量的生命周期,程序结束后再释放 修饰全局变量:该全局变量只能在本文件访问,不能在其他文件访问 修饰函数:该函数只能在本文件调用,不能在其他文件调用 2、c++语言解决命名冲突:命名空间 命名空间的定义:namespace 名字{原创 2021-04-20 11:40:50 · 141 阅读 · 0 评论 -
0421嵌入式学习笔记 (26)结构体的升级·string·vector·c++类型转换
升级3:可以设置访问权限:public/private/protected public:可以结构体内结构体外访问 class VS struct 区别: 默认访问权限:class默认private struct默认public 命名:class类 struct结构体 class定义称之为对象 struct定义称之为变量 为什么引入类?体现C++的封装性(保证代码功能的独立(设置访问权限))———提高代码的维护性(准确定位代码问题 类的编写规范: class Person { int cout; /原创 2021-04-21 17:43:12 · 232 阅读 · 0 评论