zoukankan      html  css  js  c++  java
  • C++ 函数的扩展④--函数重载与函数指针

    //函数扩展--函数重载与函数指针
    #include<iostream>
    using namespace std;
    
    
    //函数参数类型不同
    void Fuc(char * b){
        printf("%s
    ",b);
    }
    
    //函数参数个数不同
    int Fuc(int a, int b){
        return a + b;
    }
    
    //函数参数类型不同
    void Fuc2(const char * b){
        printf("%s
    ", b);
    }
    
    void main(){
        //定义函数指针类型
        //引申  定义数组类型
        typedef int MyArr[10];//定义了一个 int a[10]的数组
        MyArr a;
        typedef int(*MyArrP)[10];//定义了一个 int a[10]的数组类型指针
        MyArrP p = &a;
    
        //函数指针类型(这里也验证了 函数重载的函数都是不同函数类型的)
        typedef int(*FuncP)(int, int);
        FuncP p1 = Fuc;//Fuc是一个函数名,函数名代表函数的入口地址,函数名就是函数指针变量
        typedef void(*FuncP2)(char *);
        FuncP2 p2 = Fuc;
        p2("函数指针你好!");
    
        typedef void(*FuncP3)(const char *);
        typedef void(*FuncP4)(char *);
        //注意 定义函数类型的时候  const 等关键字也不能省略
        FuncP3 p3 = Fuc2;
        //FuncP4 p4 = Fuc2;
        //报错 error C2440: “初始化”: 无法从“void (__cdecl *)(const char *)”转换为“FuncP4”
        system("pause");
    }
  • 相关阅读:
    集合使用技巧
    集合总结
    Eclipse快捷键大全
    集合去掉重复元素的两种方式
    Collection集合的三种遍历方式
    win基本流程
    url
    StringBuffer7
    StringBuffer8
    StringBuffer6
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5588017.html
Copyright © 2011-2022 走看看