![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 59
随心uj
。
展开
-
类和对象(中)
1.类的6个默认成员函数任何一个类在我们什么都不写的情况下,都会自动生成下面6个默认成员函数。class Date {};2.构造函数2.1概念构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。2.2特性构造函数并不是开空间创建对象,而是初始化对象。其特征如下:函数名与类名相同。无返回值。对象实例化时编译器自动调用对应的构造函数。构造函数可以重载。class D原创 2022-02-27 18:51:30 · 159 阅读 · 3 评论 -
类和对象(上)
1.类的定义class className{ //类体:由成员函数和成员变量组成 }; //一定要注意后面的分号class为定义类的关键字,className为类的名字,{}中为类的主体,注意类定义结束时后面分号。类中的元素称为类的成员,类中的数据称为类的属性或者成员变量,类中的函数称为类的方法或者成员函数。类的两种定义方式:声明和定义全部放在类体中,注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。class Person{public:原创 2022-02-27 18:38:52 · 127 阅读 · 0 评论 -
指针空值nullptr(C++11)
在良好的C/C++编程习惯中,声明一个变量时最好给该变量一个合适的初始值,否则可能会出现不可预料的错误,比如未初始化的指针。如果一个指针没有合法的指向,我们基本都是按照如下方式对其进行初始化:void TestPtr(){ int* p1 = NULL; int* p2 = 0;}NULL实际是一个宏,在传统的C头文件(stddef.h)中,可以看到如下代码:#ifndef NULL#ifdef __cplusplus#define NULL 0#else#def.原创 2022-02-27 18:29:16 · 723 阅读 · 0 评论 -
auto关键字(C++11)
1.auto简介C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。#include <map>#include <string>int main(){ int a = 10; auto b = a; //类型声明成auto,可以根据a的类型自动推导b的类型 map<string,string> m;原创 2022-02-27 18:26:30 · 476 阅读 · 0 评论 -
【C++基础】 extern C
有时候在C++工程中可能需要将某些函数按照C的风格来编译,在函数前加 extern "C" ,意思是告诉编译器,将该函数按照C语言规则来编译。比如我写一个程序,其中某一段程序想用别人写好的程序,这时我们可以使用静态库/动态库。静态库/动态库的创建参考博客在VS2019中,创建空项目(不要创建静态库项目):一定要把代码拷贝到这个工程目录下,再去添加到工程:然后右击“项目”,选择“属性”:在此处将“配置类型”改为静态库:然后重新生成解决原创 2022-01-07 10:09:01 · 608 阅读 · 5 评论 -
[C++] 引用
目录引用的概念引用的特性1.引用在定义时必须初始化2.一个变量可以有多个引用3.引用一旦引用一个实体,在不能引用其他实体引用的应用1.引用作参数2.引用作返回值3.常引用引用的概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。类型& 引用变量名(对象名) = 引用实体int main(){ int a = 10; int& b = a; cout << a << en原创 2021-11-29 09:36:01 · 331 阅读 · 0 评论 -
[C++基础] 函数重载使用和函数重载的原理
目录1. C++函数重载1.1 函数重载的概念2. C++支持函数重载的原理1. C++函数重载在我们日常对话中,一个词可以有多种含义,人们可以通过对话的上下文来确定该词的真实含义,即该词被重载了。1.1 函数重载的概念函数重载:是函数的一种特殊的情况,C++允许在同一作用域中声明几个功能相似的同名函数,这些同名函数的形参列表(参数个数 、参数类型、参数顺序)必须不同(至少三个中有一个不同)。int Add(int x, int y){ return x + y;}double原创 2021-11-27 20:16:32 · 801 阅读 · 2 评论 -
[C++基础] 缺省参数
目录缺省参数的定义缺省参数的分类1.全缺省参数2. 半缺省参数缺省参数的定义缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用默认值,否则使用指定的实参。void func(int a = 10){ cout << a << endl;}int main(){ func(); func(20); return 0;缺省参数的分类1.全缺省参数//所有的参数都给了缺省值(即为初始值)void Func1原创 2021-11-25 22:21:18 · 667 阅读 · 1 评论 -
[C++基础] 命名空间namespace的了解和使用
这里写目录标题1.C++关键字2.命名空间2.1命名空间的定义2.2命名空间的使用3.C++输入&输出4.缺省参数5.函数重载6.引用7.内联函数1.C++关键字2.命名空间命名冲突问题:我们自己定义的变量、函数可能跟库里面重名冲突进入公司项目组后,做的项目通常比较大,多人协作,可能命名冲突C语言没有办法很好的解决这个问题C++提出了一个新语法:命名空间2.1命名空间的定义命名空间定义出来的是一个域//定义了一个叫name_s的命名空间namespace name_s{原创 2021-11-24 20:35:20 · 734 阅读 · 8 评论 -
程序员之路的始端
自我介绍本科学校是湖南工学院,大一的时候读的是工商管理专业,因为不感兴趣,在大二转入了机械电子工程专业,当时想想也是脑抽转了这个专业。大学四年没干出点啥,职业规划也没有,然后考了研,报了天津工业大学的计算机研究生并顺利录取。编程目标想成为通晓底层的人,握有屠龙之术。也想成为优秀的知识输出者。怎么学习编程因为想走的是C/C++ 服务器端,所以首先先学好C语言打好基础,然后学习C++,先看《C++ Primer》前八章,并行学习数据结构,然后后面的章节慢慢看,买了些书《effective C++》、《原创 2021-10-24 10:38:47 · 106 阅读 · 0 评论 -
[数据结构]-汉诺塔
递归实例:汉诺塔首先说下汉诺塔的规则:把圆盘从下面开始按大小顺序重新摆放到另一根柱子上。在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘现在假设总共有n个圆盘:n=2时:1.把小圆盘从A->B2.把大圆盘从A->C3.把小圆盘从B->C当有n个盘子时:把上面n-1个盘子看成是一个整体1.把n-1个圆盘从A->C->B(原问题规模小了1的问题)2.把第n个盘子从A->C(移动了一步)3.把n-1个小圆盘从B-原创 2021-09-20 10:20:37 · 234 阅读 · 0 评论 -
C++基础--C++ primer练习7.35
观察下列代码是否有错误typedef string Type;Type initVal();class Exercise{public: typedef double Type; Type setVal(Type); Type initVal(); //只有声明,没有定义,在后续使用中会报错private: int val;};//这里函数的返回类型为全局作用域下的string,与setVal()类型冲突Type Exercise::setVal(Type parm){ va原创 2021-07-22 11:39:49 · 123 阅读 · 0 评论 -
C++基础--const修饰指针
const修饰指针有三种情况:1. const修饰指针 --常量指针const int * p = &a;指针的指向可以修改,但是指针指向的值不可以改。记忆技巧:const 后接*p,表示指针所指向的值不能修改。2.const修饰常量 --指针常量int * const p = &a;指针的指向不可以改,但是指针指向的值可以改。记忆技巧:const 后接 p,表示指针的指向不能更改,p代表地址。3.const即修饰指针,又修饰常量const int * cons原创 2021-06-17 10:45:46 · 148 阅读 · 0 评论 -
C++基础--空指针和野指针
空指针指针变量指向内存中编号为0的空间用途:初始化指针变量注意:空指针指向的内存是不可以访问的示例1:空指针#include <iostream>using namespace std;int main(){ //空指针 //1.空指针用于给指针变量进行初始化 int *p = NULL; //2.空指针是不可以进行访问的 //0~255之间的内存编号是系统占用的,因此不可以访问 //*p = 100; 错误 return 0;}野指针指针变原创 2021-06-17 10:53:48 · 236 阅读 · 0 评论