![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c++学习手册
学习c++过程的一些记录
四号少年
这个作者很懒,什么都没留下…
展开
-
Visual Studio ERROR : LNK2001 和LNK2019
是由于参与编译的一些文件里面使用的函数,这些函数的实现所在的文件未参与编译。2、如果不影响程序功能,直接comment out 这个函数。1、通过添加宏的方式,让这一段代码不参与编译。将这些函数的实现文件也参与编译即可。在函数中使用的另一个函数无法识别。原创 2024-03-14 15:21:03 · 388 阅读 · 0 评论 -
C++:结构体、类、命名空间的使用和继承
/ 成员变量// ...// 成员函数(可选)// 函数体struct:关键字用于定义结构体。StructName:结构体的名称。结构体名称遵循标识符命名规则。成员变量:结构体中包含的数据成员。每个成员变量都有其类型和名称。成员函数(可选):结构体中可以包含成员函数,用于操作结构体的数据成员。成员函数的定义在结构体内部。example:```cpp// 定义结构体// 成员变量int age;// 成员函数public:// 公有成员(可以在类外访问)原创 2024-02-05 15:20:33 · 572 阅读 · 0 评论 -
VSCode对C++程序的多文件程序编译和调试,终端调试和Cmake调试法
VSCode对C++程序的多文件程序编译和调试前言最近在使用vscode进行C++的学习,发现编译多文件程序的时候通过F5(运行——启动调试)无法编译出可执行.exe文件,于是在进行了学习和尝试,目前可以编译和调试多文件程序了,参考视频程序前提vscode已经配置好mingw文件单文件本程序比较简单,是一个交换两个参数的程序#include<iostream>using namespace std;void swap(int &a,int &b){原创 2021-01-27 23:10:24 · 4952 阅读 · 0 评论 -
委托构造函数
C++11新标准,委托构造函数是为了构造函数减少代码的重复,经过看过的文章简单粗暴地总结,委托构造函数在类内创建和实现。#include<iostream>using namespace std;class Clock{ public: //定义构造函数 Clock(int newH,int newM,int newS); //委托构造函数在类内声明 Clock():Clock(5,6,7){}; /原创 2021-01-20 12:08:29 · 664 阅读 · 0 评论 -
递归调用的执行情况理解
问题:递归求n个人中选k个人组成组委会,求选择的不同组合数 1、当n=k和k=0时都只有一种办法,2、在n个人中选k个人=在n-1个人中选k个人+在n-1各人中选k-1个人#include<iostream>using namespace std;//递归求n个人中选k个组成组委会,求选择的不同组合数 int common(int n,int k){ if(k>n) return 0; else if(k==0||n==k) r原创 2021-01-12 12:26:58 · 100 阅读 · 0 评论 -
枚举类型
枚举类型的数据可以直接给整型赋值,整型数据必须要通过数据强制类型转换才能给枚举类型赋值。#include<iostream>using namespace std;enum GameResult{WIN,LOSE,TIE,CANCEL};//枚举类型的定义int main(){//枚举类型 GameResult result;//定义枚举类型的变量方式一 enum GameResult omit=CANCEL;//定义枚举类型的变量方式二 for (int原创 2021-01-10 21:08:13 · 134 阅读 · 0 评论 -
根据选择求正方形,长方形,圆形的边长,一次运行程序可求解多次
#include<iostream>using namespace std;const float PI=3.14;//圆的面积void CircleArea(){ cout<<"请输入圆形的半径R:"<<endl; int R; cin>>R; auto S=PI*R*R; cout<<"圆形的面积是:"<<S<<endl;}//长方形的面积void Rectangl原创 2021-01-10 21:03:01 · 260 阅读 · 0 评论 -
c++中的数据转换
static_cast转换数据格式:static_cast(data);例如:static_cast(power(2,i));(将函数的返回值转成int类型)reinterpret_cast转换数据格式:reinterpret_cast(data);原创 2020-07-30 11:33:03 · 125 阅读 · 0 评论 -
什么叫封装?封装有什么作用?
一、什么是封装?封装是把彼此相关数据和操作包围起来,抽象成为一个对象,变量和函数就有了归属,想要访问对象的数据只能通过已定义的接口。说封装就是将属性私有化,太过狭隘,因为封装不仅仅实现了数据的保护,还把彼此相关联的变量和函数包围了起来。二、为什么要封装1、我们能修改自己的代码,而不用修改那些调用我们代码的程序片段,从而可以让程式码更容易维护。2、将相关联的变量和函数封装成一个对象,变量描述对象的属性,函数描述对象的行为,这符合我们对客观世界的认识。3、还实现了对属性的数据访问限制,也加强了程式码转载 2020-07-16 18:20:50 · 25727 阅读 · 1 评论 -
混合运算时的数据转换
目录显式转换(强制类型转换)例子显式转换(强制类型转换)语法形式:1、类型说明符(表达式)2、(类型说明符)表达式3、类型转换操作符<类型说明符>(表达式)常用类型转换操作符:const_cast、 dynamic_cast、 reinterpret_cast、static_cast例子int(z)=(int)z=static_cast <整型> (z)...原创 2020-07-16 17:22:07 · 170 阅读 · 0 评论 -
逗号运算、关系运算、逻辑运算、条件运算,运算符优先级
目录 编辑器vs2017逗号运算和逗号表达式关系运算与关系表达式逻辑运算符与逻辑表达式条件表达式与条件运算符sizof运算、位运算sizeof运算位运算——按位与(&)按位或按位异或按位取反位运算——移位(<< ,>>)16进制的计算运算符优先级问题逗号运算和逗号表达式表达式1,表达式二先求解表达式1,再求解表达式2最终整个逗号表达式的结果为表达式2的值(不是说a的值就等于表达式2的值了,逗号表达式只计算,如果没有赋值给x则表现不出来逗号表达式的计算结果)例如:原创 2020-07-15 18:47:27 · 2104 阅读 · 0 评论 -
平面二维点对最短距离求解问题
二维点对,先随机生成平面点,再把平面上的点划分成左右两部分,我觉得其实无所谓左右点的多少,对结果没有影响,记录最短距离的点,比较中线附近的点的距离。#include <iostream>#include <stdio.h>#include <cmath>#include <algorithm>using namespace std;con...原创 2019-03-27 20:16:32 · 1823 阅读 · 0 评论