找到
22
篇与
刘纪彤
相关的结果
- 第 5 页
-
函数拓展 函数拓展 函数默认参数 在C++中函数是可以拥有默认参数的。例如以下: int func(int a=10,int b=20) { return a+b; }值得注意的是,如果某个位置已经有了默认值,那么从这个位置往后,都要有默认值。如果函数声明了默认值,那么函数实现的时候就不能有默认参数了 //函数拓展-1 #include<iostream> using namespace std; int fuction(int a,int b=19) { return a+b; } int fuction2(int b=1,int c=1) { return b+c; } int main() { int c=fuction(20); cout<<c<<endl; c=fuction2(); cout<<c<<endl; c=fuction(1,2); cout<<c<<endl; }输出结果: 39 2 3通俗易懂 占位参数 以下例子就是一个占位参数的例子: int fuction(int a,int); 值得注意的是,调用的时候必须填补这个占用参数,现阶段意义不大,暂略。 函数重载 在C++中函数可以发生重载。其函数名称是相同的。想要重载,必须保证函数们在同一个作用域下,同时用相同的函数名称,传递的参数必须不同,包括但不限于,参数类型不同,个数不同,顺序不同,看例子: //函数拓展-2 #include<iostream> using namespace std; //函数重载需要函数都在同一个作用域下 void func() { cout << "func 的调用!" << endl; } void func(int a) { a++; cout << "func (int a) 的调用!" << endl; } void func(double a) { a++; cout << "func (double a)的调用!" << endl; } void func(int a ,double b) { a++; b++; cout << "func (int a ,double b) 的调用!" << endl; } void func(double a ,int b) { a++; b++; cout << "func (double a ,int b)的调用!" << endl; } //函数返回值不可以作为函数重载条件 //int func(double a, int b) //{ // cout << "func (double a ,int b)的调用!" << endl; //} int main() { func(); func(10); func(3.14); func(10,3.14); func(3.14 , 10); return 0; }运行结果 func 的调用! func (int a) 的调用! func (double a)的调用! func (int a ,double b) 的调用! func (double a ,int b)的调用!一目了然 特殊地: 引用作为重载条件 函数重载碰到函数默认参数 //函数拓展-3 #include<iostream> using namespace std; //函数重载注意事项 //1、引用作为重载条件 void func(int &a) { a++; cout << "func (int &a) 调用 " << endl; } void func(const int &a) { cout<<a<<endl; cout << "func (const int &a) 调用 " << endl; } //2、函数重载碰到函数默认参数 void func2(int a, int b = 10) { a++; b++; cout << "func2(int a, int b = 10) 调用" << endl; } void func2(int a) { a++; cout << "func2(int a) 调用" << endl; } int main() { int a = 10; func(a); //调用无const func(10);//调用有const func2(10,10); //func2(10); //碰到默认参数产生歧义,需要避免 return 0; }输出结果: func (int &a) 调用 10 func (const int &a) 调用 func2(int a, int b = 10) 调用通俗易懂
-
C++ 面向对象程序设计基础 C++ 面向对象程序设计基础 前言:这个笔记仅针对具有C语言基础的人来看。不过推荐学完C语言再来看这篇文章 如何写一个C++程序 以下是一个示例程序,输出Hello world。编译器我们可以用VScode,VS,DEVC++,也就是说可以用写C语言的编译器写C++。需要注意的是VS2019是支持中文变量的。也就是说,我们可以写以下的代码 int 中文字符;这只是一个示例程序: #include<iostream> using namespace std; int main() { cout << "Hello world" << endl; system("pause");//这一行代码可有可无,取决于自己的编译器 return 0; }基础知识 C++和C语言在常量和变量的定义基本上是相同的。因为有了C语言的基础,所以这个笔记就不展开叙述了。 C++和C语言一样都可以用#define定义常量和const定义一个常量 C++同样不支持用其关键字定义变量或者常量,在给变量或者常量起名称时候,不要用C++得关键字,否则会产生歧义。 我们所能见到的C++关键字如下: asmdoifreturntypedefautodoubleinlineshorttypeidbooldynamic_castintsignedtypenamebreakelselongsizeofunioncaseenummutablestaticunsignedcatchexplicitnamespacestatic_castusingcharexportnewstructvirtualclassexternoperatorswitchvoidconstfalseprivatetemplatevolatileconst_castfloatprotectedthiswchar_tcontinueforpublicthrowwhiledefaultfriendregistertrue deletegotoreinterpret_casttry 对于标识符的命名规则是和C语言相同的 标识符不能是关键字 标识符只能由字母、数字、下划线组成 第一个字符必须为字母或下划线 标识符中字母区分大小写 数据类型 包括整形,浮点型,字符型,其所占空间与C语言大致类似。同时,都可以利用sizeof这一个关键字输出数据类型所占空间的大小。 可以运行以下代码,来理解一下C++的各种数据类型所占空间的大小: #include<iostream> using namespace std; int main() { cout << "short 类型所占内存空间为: " << sizeof(short) << endl; cout << "int 类型所占内存空间为: " << sizeof(int) << endl; cout << "long 类型所占内存空间为: " << sizeof(long) << endl; cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl; return 0; }当然了这行代码也可以运行在C语言中,只需要把cout改写成printf格式就可以了。 以下是一些转义字符 转义字符含义ASCII码值(十进制)\a警报007\b退格(BS) ,将当前位置移到前一列008\f换页(FF),将当前位置移到下页开头012\n换行(LF) ,将当前位置移到下一行开头010\r回车(CR) ,将当前位置移到本行开头013\t水平制表(HT) (跳到下一个TAB位置)009\v垂直制表(VT)011\\代表一个反斜线字符"\"092\'代表一个单引号(撇号)字符039\"代表一个双引号字符034?代表一个问号063\0数字0000\ddd8进制转义字符,d范围0~73位8进制\xhh16进制转义字符,h范围0~9,a~f,A~F3位16进制字符型的不同 不同于C语言的是C++的字符串可以直接列用string类型声明一个字符串就像下面这样: string str ="Hello world";运算符 算数/赋值/比较/逻辑完全可以参考C语言的相关知识 循环 for/while/do while 在C++中同样适用 数组 一维数组和二维数组的定义和用法也和C语言类似。 指针 对于指针而言,指针依旧标识地址,可以用&进行取地址的操作 函数 对于函数而言,有一个扩充知识: 函数的分文件编写 作用: 让代码结构更加清晰 函数分文件编写一般有4个步骤 创建后缀名为.h的头文件 创建后缀名为.cpp的源文件 在头文件中写函数的声明 在源文件中写函数的定义 示例: //swap.h文件 #include<iostream> using namespace std; //实现两个数字交换的函数声明 void swap(int a, int b); //swap.cpp文件 #include "swap.h" void swap(int a, int b) { int temp = a; a = b; b = temp; cout << "a = " << a << endl; cout << "b = " << b << endl; }//main函数文件 #include "swap.h" int main() { int a = 100; int b = 200; swap(a, b); system("pause"); return 0; }结构体 对于结构体和C语言是相同的