c++期末复习知识点最全整理
一、第15章 介绍对象技术
1.简单输入输出
-
//求a和b两个数之和。
-
// 求两数之和 (本行是注释行)
-
#include
<iostream> //预处理命令
-
using namespace std; //使用命名空间std
-
int main( ) //主函数首部
-
{ //函数体开始
-
int a,b,sum; //定义变量
-
cin>>a>>b; //输入语句
-
sum = a + b; //赋值语句
-
cout
<<″a + b =″<<sum<<endl; //输出语句
-
return 0; //如程序正常结束,向操作系统返回一个零值
-
} //函数结束
注意: cin和cout都在命名空间std中,如果要直接使用,需要声明命名空间
2.c++标准库
C++标准库头文件 :省略了后缀.h
常用C++标准库头文件 <iostream> : 标准输入输出函数的原型 <cmath> : 数学库函数的原型 <ctime> : 时间及日期函数原型以及类 <cctype> : 测试字符属性函数原型 <cstring> : 字符串处理函数的原型 <fstream> : 文件操作函数原型 <string> : 包含string类的定义
其实引用头文件还可以偷懒:
#include<bits/stdc++.h>//万能头文件 几乎包含所有的头文件
3.内联函数
在函数定义前面加关键字inline,相当于添加了函数的代码副本,再使用函数时,直接调用,减少了调用时间,相当于以空间换时间。 定义 : 在定义函数前面添加inline
-
inline void display( int a )
-
{
-
}
-
inline 命令只是建议性的,不是强制性的。
-
当声明了inline的函数中有循环语句、switch语句或有递归定义,则函数不会进行代码置换。即此时inline 无效。
-
inline只用在函数代码很短的情形。
-
如果违背了上述注意事项中的任一项,编译程序就会无视关键字inline的存在,像处理一般函数一样处理,不生成扩展代码。
因此,只有很简单而使用频率很高的函数才被说明为内联函数。
内联函数会扩大目标代码,使用时要谨慎。
4.c++关键字
在程序中要避免使用与关键字相同的变量或函数。
5.引用和引用形参
int &b = a; //声明b是a的引用(别名)
-
b并没有重新在内存中开辟单元,只是引用a的单元。
-
a与b在内存中占用同一地址,即同一地址两个名字。
-
&不是地址运算符,而是将b的类型声明为int &
-
引用必须在声明的同时进行初始化
-
指针有自己的变量单元,可以被改变,引用一旦与某个变量联系起来,就将一直效忠于它,不得再作为其它变量的别名。
-
指针是通过地址间接访问某个变量,而引用是通过别名直接访问某个变量。
6.参数传递
可定义参数有默认值的函数,如果不传入参数,函数默认使用默认值,如果传入参数,函数使用传入的值。
-
默认参数必须写在一般参数的后面
-
void sum(int a,int b=1){ }//正确
-
void sum(int b=1,int a){ }//错误
7.一元作用域运算符::
-
#include
<bits/stdc++.h>
-
using namespace std;
-
int n=55;
-
int main()
-
{
-
int n=5;
-
cout
<<::n<<'\n';
-
return 0;
-
}
-
//结果
-
55
当局部作用域有与全局变量同名的变量,当访问这个变量时,默认会访问局部作用域的变量。
如果要访问同同名的全局变量,需要加一元作用域运算符
8.函数重载
同名函数满足
-
形参个数不同
-
形参类型不同
-
形参顺序不同
9.函数模板
-
应用场景:
除函数处理的数据类型不同外,其它均相同
函数体相同,参数个数相同,可定义函数模板
-
#include
<iostream>
-
using namespace std;
-
template
< typename T > // 模板声明:T是虚拟的类型
-
T max( T a, T b, T c) //定义通用的函数
-
{
-
T x=a;
-
if (x
<b) x=b;
-
if (x<c) x=c;
-
return x;
-
}
-
void main()
-
{
-
int i1=2, i2=3, i3=5, i;
-
double d1=1.5, d2=0.5, d3=0.7, d;
-
long g1=123456, g2=234567, g3=345678, g;
-
i=max(i1, i2, i3); // T 就是 int
-
d=max(d1,d2, d3); // T 就是 double
-
g=max(g1,g2, g3); // T 就是 long
-
cout<<"i="<<i<<endl;
-
cout<<"
d=
"<<d<<endl;
-
cout<<"
g=
"<<g<<endl;
-
}
-
转载:https://blog.csdn.net/qq_50285142/article/details/117339795