小言_互联网的博客

【新星计划】c++期末知识点快速复习,最全整理(一)

431人阅读  评论(0)

c++期末复习知识点最全整理

 

一、 介绍对象技术

1.简单输入输出

2.c++标准库

3.内联函数

4.c++关键字

5.引用和引用形参

6.参数传递

7.一元作用域运算符::

8.函数重载

9.函数模板


一、第15章 介绍对象技术

1.简单输入输出


  
  1. //求a和b两个数之和。
  2. // 求两数之和                     (本行是注释行)
  3. #include <iostream>          //预处理命令
  4. using namespace std;         //使用命名空间std
  5. int main( )                        //主函数首部
  6. {                                     //函数体开始
  7.     int a,b,sum;                 //定义变量
  8.     cin>>a>>b;                //输入语句
  9.     sum = a + b;                   //赋值语句
  10.     cout <<″a + b =<<sum<<endl;        //输出语句
  11.     return 0;    //如程序正常结束,向操作系统返回一个零值
  12. }                                    //函数结束

注意: cin和cout都在命名空间std中,如果要直接使用,需要声明命名空间

2.c++标准库

C++标准库头文件 :省略了后缀.h

常用C++标准库头文件 <iostream> : 标准输入输出函数的原型 <cmath> : 数学库函数的原型 <ctime> : 时间及日期函数原型以及类 <cctype> : 测试字符属性函数原型 <cstring> : 字符串处理函数的原型 <fstream> : 文件操作函数原型 <string> : 包含string类的定义

其实引用头文件还可以偷懒:

#include<bits/stdc++.h>//万能头文件  几乎包含所有的头文件

3.内联函数

在函数定义前面加关键字inline,相当于添加了函数的代码副本,再使用函数时,直接调用,减少了调用时间,相当于以空间换时间。 定义 : 在定义函数前面添加inline


  
  1. inline void display( int a )
  2. {
  3. }
  • inline 命令只是建议性的,不是强制性的。

  • 当声明了inline的函数中有循环语句、switch语句或有递归定义,则函数不会进行代码置换。即此时inline 无效。

  • inline只用在函数代码很短的情形。

  • 如果违背了上述注意事项中的任一项,编译程序就会无视关键字inline的存在,像处理一般函数一样处理,不生成扩展代码。

因此,只有很简单而使用频率很高的函数才被说明为内联函数。

内联函数会扩大目标代码,使用时要谨慎。

4.c++关键字

在程序中要避免使用与关键字相同的变量或函数。

5.引用和引用形参

int  &b = a;     //声明b是a的引用(别名)
  • b并没有重新在内存中开辟单元,只是引用a的单元。

  • a与b在内存中占用同一地址,即同一地址两个名字。

  • &不是地址运算符,而是将b的类型声明为int &

  • 引用必须在声明的同时进行初始化

  • 指针有自己的变量单元,可以被改变,引用一旦与某个变量联系起来,就将一直效忠于它,不得再作为其它变量的别名。

  • 指针是通过地址间接访问某个变量,而引用是通过别名直接访问某个变量。

6.参数传递

可定义参数有默认值的函数,如果不传入参数,函数默认使用默认值,如果传入参数,函数使用传入的值。

  • 默认参数必须写在一般参数的后面


  
  1. void sum(int a,int b=1){ }//正确
  2. void sum(int b=1,int a){ }//错误

7.一元作用域运算符::


  
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int n=55;
  4. int main()
  5. {
  6. int n=5;
  7. cout <<::n<<'\n';
  8. return 0;
  9. }

  
  1. //结果
  2. 55

当局部作用域有与全局变量同名的变量,当访问这个变量时,默认会访问局部作用域的变量。

如果要访问同同名的全局变量,需要加一元作用域运算符

8.函数重载

同名函数满足

  • 形参个数不同

  • 形参类型不同

  • 形参顺序不同

9.函数模板

  • 应用场景:

    除函数处理的数据类型不同外,其它均相同

    函数体相同,参数个数相同,可定义函数模板


  
  1. #include <iostream>
  2. using  namespace  std;
  3. template   < typename T >   // 模板声明:T是虚拟的类型
  4. T  max( T a, T  b, T c)            //定义通用的函数
  5. {
  6.    T  x=a;
  7.    if (x <b) x=b;
  8.    if (x<c) x=c;
  9.    return x;
  10. }
  11. void main()
  12. {  
  13.    int     i1=2,       i2=3,       i3=5,       i;
  14.    double  d1=1.5,     d2=0.5,     d3=0.7,     d;
  15.    long    g1=123456,  g2=234567,  g3=345678,  g;
  16.    i=max(i1, i2, i3);      // T 就是 int
  17.    d=max(d1,d2, d3);       // T 就是 double
  18.    g=max(g1,g2, g3);       // T 就是 long
  19.    cout<<"i="<<i<<endl;
  20.    cout<<" d= "<<d<<endl;
  21.    cout<<" g= "<<g<<endl;
  22. }

转载:https://blog.csdn.net/qq_50285142/article/details/117339795
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场