![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 58
C++语法
考勤卡啦啦
记录嵌入式开发转行学习之路
展开
-
3.8 RTTI
1.某小型公司,主要有四类人员:经理、技术人员、销售经理和推销员。现在,需要存储这些人员的姓名、编号、级别、当月薪水.计算月薪总额并显示全部信息。然后进行升级,经理升为4级,技术人员和销售经理升为3级,推销员仍为1级。销售经理既拿固定月薪也领取销售提成,固定月薪为5000元,销售提成为所管辖部门当月销售总额的5%。RTTI是“Runtime Type Information”的缩写,意思是运行时类型信息,它提供了运行时确定对象类型的方法。相关类型转换(基本类型转换,基类和派生类之间的上下转换。原创 2023-08-05 15:46:50 · 47 阅读 · 0 评论 -
1.4 C++ new 1.5 C++引用 1.6 函数重载
a: b}预处理阶段处理 编译时检查语法、运行时函数进行栈进栈出傻瓜式替换(没有空间分配过程) 处理过程:通过函数名找到函数的入口地址;不做语法检查,不安全 给形参分配空间;传值,执行函数体内的语句;函数返回;释放空间以空间换时间。原创 2023-07-26 21:13:33 · 41 阅读 · 0 评论 -
1.8 C++ string
char*是一个指针string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。定义string时,会产生两个指针,一个指针指向第一个有效字符,另一个指针指向最后一个有效字符的下一个空间。例如: 查找find,拷贝copy,删除delete 替换replace,插入insert。string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。string是C++风格的字符串,而string本质上是一个。string的属性和方法————原创 2023-07-30 16:24:28 · 45 阅读 · 0 评论 -
1.7 C++ struct class
如何对private和protected 进行外部赋值和访问:set 和get方法。c++中:struct 内可以定义函数(c不可以)定义时,可以省略struct关键字。struct的升级目的是为了引入。类内定义属性名:以m_开头。原创 2023-07-27 23:24:42 · 52 阅读 · 0 评论 -
1.3 C++ 关键字升级
C++:当对register变量取地址时,会将该变量重新保存到内存中。仅能修饰局部变量,不能修饰全局变量和函数;防止编译器优化(将变量优化到寄存器中(寄存器存在边际效应))寄存器变量,提高运行效率,省去了cpu从内存抓取数据的情况。而不修饰所指向的空间———函数命名规则:解决函数形参的可读性(实现自注释性)C语言中:auto int num=5;工程应用:更好的可读性 更好的移植性。c++ 中~~~可以做左值,可以被复制。:运算器 存储器(寄存器)和控制器。c语言,三目运算符的结果只能作右值。原创 2023-07-22 22:47:44 · 48 阅读 · 0 评论 -
3.4 C++多态
是指在需要基类对象的任何地方,都可以使用公有派生类的对象来替代。这样,公有派生类实际就具备了基类的所有功能,凡是基类能解决的问题,公有派生类都可以解决。),注意,构造函数默认为私有的,私有的方法和属性在子类中是不可以被继承的,在子类中是无法访问的。2.在派生类中重新定义此函数称为覆写,要求函数名,返值类型,函数参数个数及类型全部匹配。在替代之后,派生类对象就可以作为基类的对象使用,但是只能使用从基类继承的成员。3.为了避免在派生类写错虚函数,可在派生类里的虚函数中添加。1.派生类对象赋值给基类对象;原创 2023-08-04 13:09:27 · 47 阅读 · 0 评论 -
3.1 C++ 继承、继承方式 3.2 C++继承后的构造函数执行顺序
如下。原创 2023-08-03 20:23:48 · 117 阅读 · 0 评论 -
2.7 const 、指向类成员
空类<Empty>原创 2023-08-01 23:10:20 · 49 阅读 · 0 评论 -
3.5 C++ 纯虚函数、抽象类 3.6 依赖倒转原则
java、python:继承抽象类的的子类。一个类内有纯虚函数,这个类就叫抽象类;充当功能接口或者类接口。原创 2023-08-04 21:25:49 · 107 阅读 · 1 评论 -
2.6 C++static关键字
1.set / get 方法;C&C++混合编程时,C的接口需要函数的地址作为参数时,只能将类内的非静态成员函数变成静态成员函数。一.当类内定义了一个 static int count。这样的静态成员函数,只能访问静态成员,不能访问非静态成员。称作:静态成员函数(又称:类的成员函数);二.当类的方法,加上static修饰。四.什么情况下需要使用static。原创 2023-08-01 20:31:57 · 43 阅读 · 0 评论 -
2.5 C++对象移动 移动拷贝构造函数 移动运算符重载函数
2.定义了一个移动构造函数或移动赋值运算符的类必须也定义自己的拷贝构造函数和拷贝赋值运算符,否则拷贝构造函数和拷贝赋值运算符会被定义delete的。1.一个类定义了自己的拷贝构造函数,拷贝赋值运算符或析构函数,编译器就不会为它合成移动构造函数和移动赋值运算符。提高程序运行效率(把拷贝对象变成移动对象,省去调用拷贝构造函数,拷贝赋值构造函数,省去开辟空间过程)3.使用=default显式要求编译器生成合成的移动操作,且编译器不能移动所有成员。解决临时对象拷贝问题;移动拷贝构造函数和移动赋值运算符: 加。原创 2023-08-01 13:43:53 · 93 阅读 · 0 评论 -
2.4 C++ 初始化列表
如果只是单纯的添加到class的属性里,会报错;这时,将引用放在初始化列表里。【初始化列表的效率高于在构造函数内;优先使用初始化列表!:无 “默认的 ‘ 无参的构造函数 ‘ ’” 的对象。为什么需要初始化列表?:定义时就需要初始化(绑定一个变量);【构造函数的语义是:定以。原创 2023-08-01 00:00:08 · 44 阅读 · 0 评论 -
3.3 C++多继承与虚基类
上图中:A是虚基类;virtual的继承方式就是虚继承。原创 2023-08-03 22:07:04 · 49 阅读 · 0 评论 -
C++ 1.2.命名空间、输入与输出
提高代码的维护性;:提高代码的复用性;:提高代码的扩展性环境安装xshell的使用使windows下能够访问linuxsublime text 、notepad——windows下查看源码的工具mind manager——思维导图工具自学:git/svn git+GitHub。原创 2023-07-22 11:19:23 · 104 阅读 · 0 评论 -
2.8 C++ 友元机制 2.9 运算符重载
是一种允许非类成员函数访问类的非公有成员(private和protected)的一种机制。原创 2023-08-03 00:50:00 · 54 阅读 · 0 评论 -
2.1 封装 & 2.2 构造函数 &2.3 拷贝构造函数、深浅拷贝问题 &this指针
封装可以实现,对外开放接口,屏蔽程序;对内数据开放尽量使代码和功能独立作业:面向对象编程,使用封装,实现单链表优点:实例化对象对自动调用缺点:调用时机固定,不灵活特点:1.没有返回值; 2.函数名与类型相同; 3.可以重载; 4.当实例化对象时,会自动调用当class内没有定义时,系统会自动定义一个无参的构造函数;即定义时不需要赋初值;如果定义了构造函数,系统不会自动生成 ~~~~~~~~~~~~;则定义时必须要赋初值。当编码时,不需要系统自动生成无参的构造函数时,可以使用:student()原创 2023-07-31 22:30:18 · 45 阅读 · 0 评论 -
1.9 C++ vector
vector也是一种容器;需要包含# include <vector>以后定义数组,最好可以用vector来定义。原创 2023-07-30 23:35:17 · 40 阅读 · 0 评论