- 博客(18)
- 收藏
- 关注
原创 C++ note------模板
一、函数模板template — 声明创建模板typename — 表面其后面的符号是一种数据类型,可以用class代替T — 通用的数据类型,名称可以替换,通常为大写字母#include <iostream>using namespace std;template<typename T>void swapInt(T& a,T& b){ T temp = a; a = b; b = temp;}void t
2020-09-10 20:16:56
160
原创 C++ note------多态的简述
#include <iostream>using namespace std;//组装电脑//CPU抽象类class CPU{public: virtual void cal()=0;};//显卡抽象类class VideoCard{public: virtual void show()=0;};//内存条抽象类class Memory{public: virtual void storage()=0;};//电脑类class Com
2020-09-09 09:50:04
174
原创 C++ note------const修饰对象
常函数:1.成员函数后加const2.常函数内不可以修改成员属性3.成员属性声明加关键字mutable后,在常函数中便可以修改常对象:1.声明对象前加const2.常对象只能调用常函数#include <iostream>using namespace std;class Person {public: void showPerson()const { //this->m_A = 100;//错误语句 m_B = 100;
2020-09-02 20:02:38
137
原创 C++ note------this指针
this指针的使用1.解决名称冲突#include <iostream>using namespace std;class Person {public: Person(int age) { this->age = age; } int age;};void test(){ Person p1(10); cout << "p1年龄" << p1.age;}int main(){
2020-09-02 19:20:30
150
原创 C++ note-----------对象的构造与析构
1.构造函数与析构函数构造函数主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用。析构函数主要用于对象销毁前系统自动调用,执行一些清理工作。简单点理解,就是构造函数帮助我们完成程序执行前需要做的工作,类似于电脑启动需要执行一些初始化的工作,而析构函数就是清理垃圾,恢复出厂设置。1.1构造函数构造函数:没有返回值 不用写void,函数名与类名相同,构造函数可以有参数,可以发送重载,创建对象的时候,构造函数会再度调用,且只调用一次。#include <io
2020-08-21 20:52:48
125
原创 C++ note------类(class)的基础认识
一、类的介绍C++中的类,相当于C语言中的结构体,不过C++的类所包含的不仅仅变量,还有函数,并且,类的使用更加的灵活。1.创建一个类class下面是创建一个圆类,一个类中主要有三部分:访问权限、属性、行为。#include <iostream>using namespace std;const double PI = 3.14;//设计一个圆类,求周长class Circle{ //访问权限 //公共权限public: //属性 // int m_r; //
2020-08-08 19:21:27
290
原创 C++ note------函数
一、默认参数返回值类型 函数名(形参=默认值)如果自己调用函数,对应的参数没有传入数据,则使用该参数默认值,否则使用传入值#include <iostream>using namespace std;//b,c默认值为20,30int fun(int a, int b=20, int c=30) { return a + b + c;}int main(){ cout << fun(10) << endl; cout << fun
2020-08-02 11:57:10
254
原创 C++ note------引用
在理解C++中的引用之前,先理清一下变量,变量的本质为一块内存空间的地址以及空间中存放的数据,而如果利用地址调用变量,稍显繁琐,所以一般都是给变量命名,调用时直接使用变量名即可,那么,一个变量是否可以有多个名称呢?C++中的引用刚好能够做到。#include <iostream>using namespace std;int main(){ int a = 10; int& b = a; cout << "a=" << a << en
2020-07-26 16:18:39
134
原创 Ubuntu虚拟机使用过程错误总结
1.在进行添加普通用户,使用sudo vi /etc/sudoers 修改权限时,将文件中的roothou用户屏蔽掉了,所以造成在保存文件推出后,无法使用sudo了,并且提示sudo: no valid sudoers sources found, quitting先是使用以往常用的老办法,在任务管理器里面将VM的相关进程都结束,然后按下win+R,输入services.msc进入服务列表,然后找到VM的相关服务,将这些服务全部选择重新启动,完成之后重启电脑。尝试后没有用,最后试了许多方法才找到
2020-07-11 10:27:46
2058
原创 两种变量、四种存储类以及他们的存储区、生存期与作用域....
一、两种变量局部变量:在函数内部定义全局变量:在函数外部定义二、 四种存储类auto (自动类型):修饰局部变量auto int a;平时定义的变量都是自动变量,auto可以省略 , 没有赋初值为随机数 ,栈空间存放 ,从定义位置开始,到当前代码块结束,即局部变量用完就释放 ,作用于当前代码块。register (寄存器类型):修饰局部变量 register int a;平时的变量都保存在栈中,如果有一些数据需要频繁存取,将数据存储到寄存器中,方便存取。static (静态):①修
2020-07-07 20:02:29
236
原创 #字符、字符串、字符串函数
1、字符①字符的输入:scanf( ),getchar( )其中比较常用的是getchar( ),函数原型是getchar(void),从键盘获取一个字符,进行输入时,遇到回车符时结束输入,将存储的第一个字符存在缓冲区中。 1 #include<stdio.h> 2 //#include<string.h> 3 int main(void) 4 { 5 char ch; 6 ch=getchar(); 7
2020-07-06 19:36:37
135
原创 函数、数组、指针的结合
1、数组与指针的结合使用数组名是数组首地址,是一个指针常量,如 int a[10],关系上:a == &a[0],对于二维数组,也有类似的关系,如 int a[2][4],其中 &a[0][0] 、 a 、 &a[0] 、a[0] 在数值上是相等的,都表示首地址,在关系上:a==&a[0] ;a[0]=&a[0][0] ;a[1]=&a[1][0];可参考下面代码的执行结果:#include<stdio.h>int ma
2020-07-05 10:48:44
269
原创 const修饰指针变量*p
1,const int *p=&a; / int const *p=&a;解释:const 修饰 *p ,*p被常量化, p只读即为数值不改变,无法写入,不能被修改 ,不能通过p修改a的值,如图所示,正常情况下是可以通过修改指针变量p的值来改变整型变量a的值,但一旦加上const,将在编译时出现read-only的报错,即为指针只读,无法修改。但是可以对指针p重新赋值,让p指向其他变量,参考下图,无法直接操作指针变量指向的数值,但可以改变指针p存储的地址,指向另一个变量b2,
2020-07-03 19:50:47
950
原创 Linux-----压缩与解压缩的使用
Linux压缩文件格式:.tar、.tar.bz2、.tar.gz压缩工具:gzip、bzip2、tar、zip、rar一、gzip压缩文件:gzip+文件名解压缩:gzip+ -d +.gz文件英文助记:compress意思为压缩,decompress为解压缩,所以-d表示解压缩-v:verbose mode,详细模式,即显示压缩过程-r:recursive,递归,但gzip无法压缩文件夹,使用-r参数压缩文件夹时,只会将文件夹下的每一个文件压缩为.gz文件-rd:-r + -d ,顾名思
2020-05-29 23:02:42
277
原创 Linux入门------su和sudo可以干什么
虽然之前有学过一点Linux,但也忘得差不多了,今天从头开始学习。使用的虚拟机软件是VMware Workstation 15Pro,创建的虚拟机系统是ubuntu18.04.3,很早就装电脑上了,但由于一些事情所以没有开始用。而且在安装的时候也有许多问题,下次还得研究一下。一、sudo命令:以系统管理者身份执行指令1、sudo passwd root用来设置root用户密码,输入sudo passwd root,然后设置密码。另外要注意是passwd不是password,因为容易习惯性记住这个单词
2020-05-22 21:20:53
419
原创 C语言的那些事-----输入输出
话不多说,直接上代码a,b是整型变量,b是浮点型,c是字符型,scanf()函数的内容是,输入的内容从左到右分别是:输入宽度为2的整数给a,跳过宽度为2的整数,输入有效位数为2的浮点数给b,输入宽度为2的字符数据给c,其余的整数给d就是这样的功能。没有理解的有以下几点:一、输入的34为何省略了,scanf()中的"%*2d"代表什么?代表的是直接跳过了宽度为2的的整型数据,即忽略两...
2020-02-21 18:53:57
738
原创 C语言的那些事-----运算符
首先,关于运算符的优先级,在网上查了,描述较为具体的帖子有这个https://blog.youkuaiyun.com/changexhao/article/details/82556761同时,在使用强制类型转换时,犯了初级错误,代码如下运算结果为3,原本是觉得a=(int)(1.5+0.5+12),于是乎结果为4,思考过程中出现的错误想法是,习惯性地将3/2计算得1.5,实际上3与2都是整形,故而(3...
2020-02-19 21:26:58
150
原创 C语言的那些事-----scanf()函数
今天在使用scanf函数时发现,出现了错误,以下使用代码说明:#include<stdio.h>void main(){int a,b,c,m,n;printf(“请输入a,b的值:”);scanf(“a=%d,b=%d”,&a,&b);printf(“a=%d,b=%d\n”,a,b);}执行代码后这是错误的:这是正确的:由此说明,键盘输入...
2020-02-18 22:38:14
368
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人