重载是多态的重要表现。
重载必须是函数名相同,参数的个数或参数的类型不一样。
int fun(int);
int fun(char);
默认参数与函数重载:编译器有可能出现二义性,所以最好不要这样使用。
c语言头文件中的extern“C”:在使用了c语言使用了一些功能;
写段代码:
#ifdef _cplus
#extern "c"{
}
#endif
int foo(char,int);
#ifdef _cplus
}
这段代码就是表示,如果使用的是c++,就是表示,该代码需要按c语言规则编译。
可以使用objdump -t 查看符号表。
程序会根据传入的参数调用对应的函数。
C++运算符重载的相关规定如下:
(1)不能改变运算符的优先级;
(2)不能改变运算符的结合型;
(4)不能改变运算符的操作数的个数;
(5)不能创建新的运算符,只有已有运算符可以被重载;
(6)运算符作用于C++内部提供的数据类型时,原来含义保持不变。