![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
岁月蹉跎的一杯酒
ISP小粉丝一枚
展开
-
C++错误:“const char *“ 类型的值不能用于初始化 “char *“ 类型的实体
在VS2017中使用opencv编写C++程序时出现如下错误:报错代码如下:char* image_window = "Source Image";char* result_window = "Result window";查了查资料,可能的原因是在VS2017版本中使用这种char*的表达方式会造成程序崩溃,所以VS2017对其进行了控件管理。解决方案:先将字符使用字符数组进行存储,再使用指针char image[] = "Source Image";char result1[]原创 2020-09-09 21:45:04 · 124482 阅读 · 6 评论 -
C++构造函数和析构函数
C++构造函数和析构函数目录C++构造函数和析构函数1、构造函数2、析构函数3、代码1、构造函数构造函数:主要用于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,不用手动调用构造函数语法:类名(){}构造函数无返回值,不用写void 函数名称和类名称相同 构造函数可以有参数,因此可以发生重载 程序在调用对象时会自动调用构造,无需手动调用,而且只会调用一次2、析构函数析构函数:主要作用在于对象销毁前系统自动调用,执行一些清理工作析构函数语法:~类名原创 2020-07-15 21:13:00 · 185 阅读 · 0 评论 -
C++面向对象学习—class和struct区别
C++面向对象学习—class和struct区别class:默认权限是私有 private类内可以访问,类外不可访问。struct:默认权限是公共 public结构体内可以访问,结构体外也可以访问。代码演示#include<iostream>#include<string>using namespace std;class C1 { int m_A;//默认权限是私有};struct C2{ int m_A;//默认权限是公有};int.原创 2020-05-23 15:58:59 · 140 阅读 · 0 评论 -
C++面向对象学习—访问权限
C++面向对象学习—访问权限目录C++面向对象学习—访问权限1、公共权限public2、保护权限 protected3、私有权限 private4、代码1、公共权限public成员类可以访问 类外类内都能访问2、保护权限 protected类内可以访问 类外不可访问 儿子可以访问父亲中的保护内容3、私有权限 private类内可以访问 类外不可访问 儿子不可以访问父亲的私有内容不仅是类中的变量,类中的函数也是受到访问权限的限制。4、代码#inc.原创 2020-05-23 15:28:47 · 218 阅读 · 0 评论 -
C++学习面向对象—实例化创建一个类
C++学习面向对象—实例化创建一个类目录C++学习面向对象—实例化创建一个类案例1:设计一个圆类,求其周长案例2:设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值案例1:设计一个圆类,求其周长#include<iostream>using namespace std;const double pi = 3.14;//设计一个圆类,求圆的周长//圆周长:2*pi*r//class设计一个类class Circle { //访问权限 //公共权限p原创 2020-05-23 14:43:33 · 816 阅读 · 0 评论 -
C++函数重载
C++函数重载1、函数重载的满足条件在同一个作用域下 函数名称相同 函数的参数类型不同,或者个数不同,或者顺序不同2、注意事项函数值发返回值不可以作为函数重载的条件 引用作为重载条件 函数重载碰到默认参数3、代码演示#include<iostream>using namespace std;//函数重载//可以让函数名相同,提高函数的复用性//函数重载的满足条件//1、在同一个作用域下//2、函数名称相同//3|函数的参数类型不同,或者个数不同,或者顺原创 2020-05-20 16:59:07 · 191 阅读 · 0 评论 -
C++引用用法
C++引用用法1、引用语法数据类型 &别名=原名其实就是给变量换一个名字2、语法代码展示#include<iostream>using namespace std;int main() { //引用语法 //数据类型 &别名=原名 int a=10; //创建引用 int &b = a; cout << "a=" << a << endl; cout << "b=" <<原创 2020-05-18 16:00:40 · 139 阅读 · 0 评论 -
C++new操作符
C++new操作符目录C++new操作符1、new 的基本语法2、在堆区利用new开辟数组3、代码1、new 的基本语法int *p=new int(10);new返回的是一个地址,用指针的方式来接收。堆栈的数据 由程序员管理开辟,程序猿管理释放,如果想释放堆区的数据,利用关键字deletedelete p;2、在堆区利用new开辟数组//2、在堆区利用new开辟数组void test2() { int *arr=new int[10];//10:原创 2020-05-17 14:44:11 · 499 阅读 · 0 评论 -
C++通讯录管理系统
C++通讯录管理系统目录C++通讯录管理系统1、功能2、代码演示1、功能 cout << "*****************************" << endl; cout << "****** 1、添加通讯录 ******" << endl; cout << "****** 2、显示联系人 ******" << endl; cout << "****** 3、删除联系人转载 2020-05-12 23:05:28 · 262 阅读 · 0 评论 -
C++结构体案例记录
C++结构体案例11、案例描述学校有3个老师,每名老师带5个学生需求如下:设计学生和老师结构体,其中在老师结构体中有老师姓名和一个学生数组,学生的成员有姓名、考试分数,通过创建数组存放三个老师,通过函数给每个老师以及学生赋值,并且打印出来结果。2、自己写的垃圾代码#include<iostream>#include<string>using namespace std;//结构体案例struct student{ string name; int原创 2020-05-12 15:12:26 · 334 阅读 · 0 评论 -
C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,const变量使用)
C++结构体(结构体创建,结构体数组)目录C++结构体(结构体创建,结构体数组)1、结构体创建2、结构体创建代码演示3、结构体数组4、结构体数组代码演示1、结构体创建struct结构体名 变量名 struct 结构体名 变量名={成员值1,成员值2,...} 定义结构体时顺便定义变量2、结构体创建代码演示#include<iostream>#include<string>using namespace std;//通过结构体创建变量的原创 2020-05-12 08:51:14 · 31765 阅读 · 0 评论 -
C++指针、函数、数组、分文件实现冒泡排序打印案例
C++指针、函数、数组、分文件实现冒泡排序打印案例目录C++指针、函数、数组、分文件实现冒泡排序打印案例1、创建头文件2、建立与头文件对应关系的函数.cpp文件,在其中实现冒泡排序功能3、主函数代码1、创建头文件#include<iostream>using namespace std;void sort(int *arr,int len);2、建立与头文件对应关系的函数.cpp文件,在其中实现冒泡排序功能#include "sort.h"vo原创 2020-05-11 19:22:07 · 241 阅读 · 0 评论 -
C++函数地址传递和值传递区别
C++地址传递和值传递区别目录C++地址传递和值传递区别1、地址传递VS值传递2、代码演示1、地址传递VS值传递地址传递:通过指针进行变量之间的传递,会改变实参void swap(int *p1, int *p2) { int temp = *p1; *p1 = *p2; *p2 = temp;}swap(&a, &b);//调用值传递:之间进行形参内部的值的改变,不会改变实参,只会影响形参。void swap0(int a, int b原创 2020-05-11 17:42:08 · 568 阅读 · 0 评论 -
C++指针访问数组遍历
C++指针访问数组遍历目录C++指针访问数组遍历1、注意点2、指针代码变量数组1、注意点int a[10] = { 1,2,3,4,5,6,7,8,9,10 };int *p = a;数组名字就是数组第一个元素的地址。 通过++p可以逐个访问数组元素2、指针代码变量数组#include<iostream>using namespace std;int main() { //指针与数组 int a[10] = { 1,2,3,4,5,6,7,原创 2020-05-11 16:57:50 · 2181 阅读 · 0 评论 -
C++const修饰指针学习
C++const修饰指针1、常量指针const int *p = &a;指针指向的值不能改,指向可以改//*p = 20;错误p = &b;//正确2、指针常量int * const p1 = &a;指针的指向不可以改,指针指向的值可以改*p1 = 100;//正确//p1 = &b;错误3、const既修饰指针 ,又修饰常量const int * const p2 = &a;指针的指向和指向内存的数值都不能改原创 2020-05-11 16:24:10 · 140 阅读 · 0 评论 -
C++空指针和野指针
C++空指针和野指针1、空指针空指针用于给指针变量进行初始化int *p = NULL;2、野指针非法指向一个我们未事先分配的内存int *q = (int *)0x1111;空指针和野指针都不是我们申请的空间,不要轻易访问...原创 2020-05-11 15:46:17 · 130 阅读 · 0 评论 -
C++指针的定义和占用内存空间
C++指针的定义和占用内存空间目录C++指针的定义和占用内存空间1、指针的基本概念2、指针占用内存空间3、代码演示1、指针的基本概念定义一个指针 语法: 数据类型 *指针变量名int a = 10;int *p;p = &a;使用指针:指针前加一个*代表解引用,找到指针指向的内存中的数据*p = 1000;指针可以修改建立关系后的变量对象内存中的数据2、指针占用内存空间在32位(X86)操作系统下,指针占用四个字节大小,不管什么类型 在6原创 2020-05-11 15:29:28 · 1659 阅读 · 0 评论 -
C++函数的分文件编写步骤
C++函数的分文件编写目录C++函数的分文件编写1、步骤2、函数的调用1、步骤创建一个.h的头文件 创建一个.cpp的源文件 在头文件中写函数的声明#include<iostream>using namespace std;//函数的声明void swap(int a, int b);在源文件中写函数的定义#include "swap.h"//函数的定义void swap(int a, int b) { cout << "a=" &原创 2020-05-11 13:17:55 · 906 阅读 · 0 评论 -
C++函数的声明介绍
C++函数的声明目录C++函数的声明1、介绍2、代码演示1、介绍如果在main函数下面定义一个新的函数,需要在main函数上面对于新的函数进行声明。声明可以写多次,但是定义只能写一次。2、代码演示#include<iostream>using namespace std;//函数的声明//比较两个数大小,并且返回较大的值//提前告诉编译器函数的存在,可以利用函数的声明//声明可以写多次,但是定义只能写一次int max(int a, int b原创 2020-05-11 10:53:29 · 1247 阅读 · 0 评论 -
C++函数常见形式
C++函数常见形式目录C++函数常见形式1、常见形式2、代码演示1、常见形式无参无返 有参无返 无参有返 有参有返2、代码演示#include<iostream>using namespace std;//函数常见样式//1、无参无返void test1() { cout << "hello world!" << endl; return;}//2、有参无返void test2(int a) { cout <原创 2020-05-11 10:52:57 · 946 阅读 · 0 评论 -
C++函数值传递
C++函数值传递目录C++函数值传递1、值传递2、代码演示1、值传递所谓值传递,就是函数调用时实参将数值传递给形参 值传递时,如果形参发生改变,并不会影响实参2、代码演示#include<iostream>using namespace std;//值传递//所谓值传递,就是函数调用时实参将数值传递给形参//值传递时,如果形参发生改变,并不会影响实参void swap(int a,int b) { int temp = a; a = b; b原创 2020-05-11 10:52:35 · 500 阅读 · 0 评论 -
C++函数的定义以及求和案例
C++函数的定义以及求和案例目录C++函数的定义以及求和案例1、函数的定义2、函数求和代码演示1、函数的定义返回值类型 函数的名称 参数的列表 函数体语句 返回值返回值类型 函数名(参数列表){函数体语句;return 返回值;}2、函数求和代码演示#include<iostream>using namespace std;//定义加法函数int sum(int a, int b) { //函数定义时候,a,b并无真实数据,他只..原创 2020-05-10 19:39:00 · 4667 阅读 · 0 评论 -
C++二维数组成绩统计案例
C++二维数组成绩统计案例1、案例张三:100 100 90李四:70 50 90王二:60 70 80要求打印每个人分数,并且统计总分。2、代码演示#include<iostream>#include<string>using namespace std;int main() { //二维数组案例-考试成绩统计分数 //1、创建二维数组 int score[3][3]{ {100,100,90}, {70,50,90}, {原创 2020-05-10 15:42:41 · 1151 阅读 · 0 评论 -
C++二维数组定义方式和数组名
C++二维数组定义方式目录C++二维数组定义方式1、定义方式2、代码演示1、定义方式数据类型 数组名[行数][列数]; 数据类型 数组名[行数][列数]={{数据1,数据2},{数据3,数据4}}; 数据类型 数组名[行数][列数]={数据1,数据2,数据3,数据4}; 数据类型 数组名[][列数]={数据1,数据2,数据3,数据4};2、代码演示#include<iostream>using namespace std;int main() {原创 2020-05-10 14:53:47 · 916 阅读 · 0 评论 -
C++冒泡排序代码思想
C++冒泡排序目录C++冒泡排序1、算法思想2、代码演示1、算法思想输入一个数组 从第一个元素开始,比较相邻的元素,如果第一个比第二个大,就交换他们。 对每一对相邻的元素做同样的工作,执行完毕后,找到第一个最大值 重复上面步骤,每次比较次数减1,直到不需要比较为止。排序总轮数=元素个数-1每轮对比次数=元素个数-排序轮数-1核心代码:输入10个数//总共排序轮数 元素个数-1 for (int i = 0; i < 10-1; i++) { //内原创 2020-05-10 14:17:05 · 439 阅读 · 0 评论 -
C++案例数组求最大值和数组元素逆置
C++案例数组求最大值和数组元素逆置目录C++案例数组求最大值和数组元素逆置1、案例1:五只小猪称体重,找到最重的一只小猪2、案例二:数组的转置3、代码演示1、案例1:五只小猪称体重,找到最重的一只小猪for (int i = 0; i < 5; i++) { cout << arr[i] <<" "; if (arr[i]>max) { max = arr[i]; } }2、案例二:数组的转置输入:123原创 2020-05-10 13:26:20 · 195 阅读 · 0 评论 -
C++一维数组名称用途
C++一维数组名称用途1、用途1、可以统计整个数组在内存中的长度2、可以获取数组在内存中的首地址注意点:数组名是常量,不可以进行赋值操作2、代码演示#include<iostream>using namespace std;int main() { //一维数组名称用途 //1、可以统计整个数组在内存中的长度 int arr[5] = { 1,2,3,4,5 }; cout << "整个数组占用的内存空间:"; cout <<原创 2020-05-10 12:08:38 · 210 阅读 · 0 评论 -
C++数组的不同初始化方法
C++数组的不同表示方法目录C++数组的不同表示方法1、数组的三种不同写法2、代码演示1、数组的三种不同写法 1、数组类型 数组名[数组长度]; 2、数据类型 数组名[数组长度]={值1、值2、值3....}; 3、数据类型 数组名[]={值1、值2、值3....};2、代码演示#include<iostream>using namespace std;int main() { //数组 /* 1、数组类型 数组名[数组长度]...原创 2020-05-10 11:42:56 · 878 阅读 · 0 评论 -
C++goto语句用法
C++goto语句用法目录C++goto语句用法1、goto语句2、代码演示1、goto语句goto语句又叫跳转语句,可以跳转到标志语句,执行下面操作;goto 标记;A标记:BA语句不执行,执行B语句2、代码演示#include<iostream>using namespace std;int main() { //goto语句 cout << "1" << endl; cout << "2原创 2020-05-10 11:09:01 · 3829 阅读 · 1 评论 -
C++学习continue用法
C++学习continue用法目录C++学习continue用法1、continue和break区别2、代码演示1、continue和break区别continue:可以筛选条件,执行到此不在向下执行,但是不跳出循环,接着执行下一次循环。break:break会直接退出循环,continue不会退出循环2、代码演示#include<iostream>using namespace std;int main() { //coutinue语句 for原创 2020-05-10 11:08:25 · 12087 阅读 · 0 评论 -
C++break语句用法
C++break语句用法目录C++break语句用法1、break使用2、代码演示1、break使用在switch语句中,break的作用是终止case语句,并跳出switch在单个循环语句中,break作用是跳出循环语句在嵌套循环中,break作用是跳出最近循环,并且不影响外面的循环。2、代码演示#include<iostream>using namespace std;int main() { //break用法 //switch语句 i原创 2020-05-10 11:08:47 · 9094 阅读 · 0 评论 -
C++嵌套循环打印99乘法表
C++嵌套循环打印99乘法表目录C++嵌套循环打印99乘法表1、嵌套循环结构2、99乘法表案例代码1、嵌套循环结构分为外循环和内循环,外循环执行一次,内循环执行一轮for(条件){for(条件){执行语句}}2、99乘法表案例代码打印99乘法表#include<iostream>using namespace std;int main() { //案例:99乘法表 for (int i = 1; i < 10; i++)原创 2020-05-09 19:58:08 · 2600 阅读 · 2 评论 -
C++案例敲桌子
C++案例敲桌子目录C++案例敲桌子1、案例介绍2、代码演示1、案例介绍案例:敲桌子:从1开始数到100,如果数字个位数含有7,或者十位数含有7,或者该数字式7的倍数,我们打印敲桌子,其余数字直接打出。2、代码演示 a = i%10; b = i / 10 % 10; c = i % 7;a是获取个位数,b是获取十位数,c是判断是否为7的倍数#include<iostream>#include<tim...原创 2020-05-09 19:03:35 · 908 阅读 · 1 评论 -
C++for语句用法讲解
C++for循环语句目录C++for循环语句1、结构2、代码演示1、结构for (语句一; 语句二; 语句四){语句三;}先执行语句一,只执行一次,再执行语句二,接着语句三,最后语句四,然后接着执行语句二、循环下去。2、代码演示for语句输出0-9#include<iostream>#include<time.h>using namespace std;int main() { //for语句 //作用:满足循环条件,执原创 2020-05-09 18:36:39 · 4709 阅读 · 0 评论 -
C++经典案例水仙花数
C++经典案例水仙花数目录C++经典案例水仙花数1、案例描述2、注意点3、代码演示1、案例描述案例描述:水仙花数是指一个三位数,它的每个位上数字的3次幂之和等于它本身例子:153=1^3+5^3+3^32、注意点需要对于个、十、百分别进行提取。 个位: a = num % 10; 十位: b = num / 10 % 10; 百位:c = num / 100;C++次方表示:pow(a,3),a的3次方3、代码演示...原创 2020-05-09 17:20:50 · 1034 阅读 · 0 评论 -
C++学习do...while语句
C++学习do...while语句目录C++学习do...while语句1、do...while和while循环区别2、代码演示1、do...while和while循环区别do...while会先执行一次循环语句,再进行判断,while会先进行判断,再进行循环语句。2、代码演示在屏幕上打印0-9#include<iostream>#include<time.h>using namespace std;int main() { //do原创 2020-05-09 16:58:30 · 180 阅读 · 0 评论 -
C++猜数字案例(while语句)
C++猜数字案例(while语句)1、案例介绍系统随机生成0-99之间的数字,玩家进行猜测,提示玩家数字过大或者过小,如果猜对,恭喜玩家胜利,并退出游戏。2、注意点随机生成一个数方法:需要添加一个头文件才能运行:#include<time.h> srand((int)time(NULL));//随机数种子,作用利用当前系统时间生成随机数,防止每次随机数一样 int num = rand()%100;//生成0-99的随机数3、代码演示#include&l原创 2020-05-09 16:39:12 · 1439 阅读 · 1 评论 -
C++while循环学习
C++while循环学习目录C++while循环学习1、循环结构2、代码演示1、循环结构while(条件){执行语句}注意事项,写循环条件的时候要避免死循环。2、代码演示在屏幕中打印0-9 10个数字#include<iostream>using namespace std;int main() { //while循环 //在屏幕中打印0-9 10个数字 int num = 0; //while中添加循环条件 //注意事项,写循环原创 2020-05-09 15:32:45 · 343 阅读 · 0 评论 -
C++学习Switch case选择结构
C++学习Switch case选择结构目录C++学习Switch case选择结构1、结构2、代码演示1、结构switch输入判断分支时,也就时score,只能时整型或者字符型,不能是一个区间。case中如果没有break,程序会一直执行下去。switch (score) { case 10: cout << "优秀"<<endl; break; case 9:cout << "优秀"<<endl; b原创 2020-05-09 14:33:07 · 591 阅读 · 0 评论 -
C++三目运算符学习
C++三目运算符1、三目运算符介绍举例:c1=a > b ? a : b;如果a>b为真,返回a,否则返回b。C++中三目运算符返回的是变量,可以继续赋值(a > b ? a : b) = 100;2、代码及其演示#include<iostream>using namespace std;int main() { //三目运算符 //创建三个...原创 2020-05-09 13:34:49 · 284 阅读 · 0 评论