/*************************函数重载*********************/
#include<iostream>
#include<stdio.h>
//参数的个数,参数的类型不同,顺序不同,返回值无关
//extern "C"{} //按照c标准编译而不是按照C++标准编译
void go(int a)
{
std::cout << a;
}
void go(double a)
{
std::cout << a;
}
void go(double a,int b )
{
std::cout << a << b;
}
void go(int a, double b)
{
std::cout << a << b;
}
void main1()
{
void(*pgo1)(int a)=go;
void(*pgo2)(double a)=go;
void(*pgo3)(double a, int b)=go;
void(*pgo4)(int a, double b)=go;
printf("%p\n",pgo1);
printf("%p\n", pgo2);
printf("%p\n", pgo3);
printf("%p\n", pgo4);
getchar();
}
/*************************默认参数*********************/
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
//默认参数必须放在右边
//默认参数中间不允许出现不默认的
void print(int c,int a = 1, int d=2, int b = 3)
{
std::cout << a<<b<<c << std::endl;
}
void print(double c)
{
}
void main()
{
//print(1,2,3);
//函数指针没有默认参数,必须全部输入数据
//void(*pt1)(int c, int a = 10, int d , int b ) = print;出错
//函数重载与函数默认参数冲突,需要你输入的参数类型不一个,个数不一样,顺序不一样不会出现问题,否则一定报错
void(*pt1)(int c, int a , int d , int b ) = print;
pt1(100,1,2,3);//函数指针调用,没有用默认的参数
print(100);
system("pause");
}
C++复习第四天 函数重载
最新推荐文章于 2023-09-17 16:04:44 发布