函数重载:
1.类和结构体的区别:
结构体:只有变量,没有函数.
类:有变量,有函数。
2.函数重载的定义:
多个函数,名字相同,参数不同,是多态的一种体现,C++中C风格的函数也可以重载。
3.函数重载的歧义:
实例:
.cpp
#include <iostream>
#include "./c/fs.h"
#include "Stu.h"
using namespace std;
void fun(int x) {
cout<<"fun(int x) x="<<x<<endl;
}
void fun() {
cout<<"fun()"<<endl;
}
void fun(string x) {
cout<<"fun(string x) x="<<x<<endl;
}
void fun(int &r) {
}
int main() {
fun(100); //fun(int x)
fun();//fun()
fun("你好");//fun(string x)
// int m = 20;
// fun(m);
show();//show()
show(100);//show(int x)
Stu stu;
stu.show();//Stu::show()
stu.show(100);//Stu::show(int age)
return 0;
}
头文件:
#ifndef STU_H_
#define STU_H_
class Stu {
public:
void show();
void show(int age);
};
#endif /* STU_H_ */
#include "Stu.h"
#include <iostream>
using namespace std;
void Stu::show() {
cout<<"Stu:;show()"<<endl;
}
void Stu::show(int age) {
cout<<"Stu:;show(int age)"<<endl;
}