C/C++教程

C++第01课 C++与C的区别(四)

本文主要是介绍C++第01课 C++与C的区别(四),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.内联函数(inline修饰的函数)
  1.1 牺牲空间提高效率
  1.2 短小精悍
  1.3 在结构体中或者类型实现的函数默认为内联函数

2.函数重载(允许同名不同参的函数存在)
  2.1 数目不同
  2.2 类型不同
  2.3 顺序不同

3.函数缺省(其实就是给函数参数赋初始值)
  注意点问题: 必须从右往左边进行缺省
  当参数缺少实际参数的时候,使用默认值

//错误写法
//void printData(int a=1, int b, int c, int d) 
//{
//    cout << a + b + c + d << endl;
//}
//错误写法
//void printData(int a, int b=3, int c, int d=1)
//{
//    cout << a + b + c + d << endl;
//}
#include <iostream>
using namespace std;
inline  void print() 
{
    cout << "ILoveyou" << endl;
}
//2.1 数目不同    
void print(int a) 
{
    cout << a << endl;
}
void print(int a, int b) 
{
    cout << a + b << endl;
}
//2.2 类型不同
void print(char a, int b) 
{
    cout << a + b << endl;
}
//2.3 顺序不同(一定是存在不同类型数据)
void print(int a, char b) 
{
    cout << a + b << endl;
}
//从右往左连续性的缺省
//形参的初始值 ,你想写多少就写多少
void printData(int a=1 , int b=2, int c=3, int d=4)
{
    cout << a + b + c + d << endl;
}
int main() 
{
    printData();                    //a=1  b=2 c=3 d=4
    printData(11);                    //a=11 b=2 c=3 d=4
    printData(11, 22);                //a=11 b=22 c=3 d=4
    printData(11, 22, 33);            //a=11 b=22 c=33 d=4
    printData(11, 22, 33, 44);        //a=11 b=22 c=33 d=44
    //构造函数就可以采用这种写法,可以避免很多错误
    //可以避免垃圾值
    print();
    print(1);
    print(1, 2);
    print('A', 2);
    print(1, 'A');
    //putimage
    //loadimage
    //Lambda  把函数写成一个表达式(函数的定义和调用可以写在一起)
    return 0;
}

 

这篇关于C++第01课 C++与C的区别(四)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!