C++中,什么叫重载,具体举个列子说明嘛

来源:百度知道 编辑:UC知道 时间:2024/06/30 16:29:17
C++中,什么叫重载,具体举个列子说明嘛
它有什么特别的用途吗?

#include <iostream>
using namespace std;
void f(int i){
cout<<i<<endl;
}
void f(char c){
cout<<c<<endl;
}
int main(){
f(3);//调用的是第一个。
f('a');//调用的是第二个。
return 0;
}
这样以完全一样的调用参数个数和名称就是一种重载,再多的你就要看书上,很多内容。

重载:说得简单一点就是一个函数通过传递不同的参数实现不同的功能。
例子:c++ 中 =操作符的重载:
#include<iostream.h>
#include<string.h>
class CMyString
{
private:
char* m_str;
public:
CMyString(char *str)
{
int size;
size = strlen(str) + 1;
m_str= new char[size];
strcpy(m_str,str);
}
CMyString()
{
m_str = NULL;
}
~CMyString()
{
delete []m_str;
}
void ShowString()
{
cout << m_str << endl;
}
CMyString & operator=(CMyString& mystring)//运算符重载函数
{
int size;
size = strlen(mystring.m_str) + 1;
m_str = new c