返回顶部

C#重载是怎么回事?

[复制链接]
狄大哲Lv.1 显示全部楼层 发表于 2022-7-18 13:16:06 |阅读模式 打印 上一主题 下一主题
  如果创建两个或多个成员(函数)具有相同的名称,但参数的数量或类型不同,则称为C++重载。在C++中,我们可以重载:

  方法

  构造函数

  索引属性

  这是因为这些成员只有参数。

  C++中的重载类型有:

  函数重载

  运算符重载

  一、C++函数重载

  在C++中,具有两个或更多个具有相同名称但参数不同的函数称为函数重载。

  函数重载的优点是它增加了程序的可读性,不需要为同一个函数操作功能使用不同的名称。

  C++函数重载示例

  下面来看看看函数重载的简单例子,修改了add()方法的参数数量。

[C#] 纯文本查看 复制代码
#include <iostream>  
using namespace std;  
class Cal {  
    public:  
static int add(int a,int b){    
        return a + b;    
    }    
static int add(int a, int b, int c)    
    {    
        return a + b + c;    
    }    
};   
int main(void) {  
    Cal C;  
    cout<<C.add(10, 20)<<endl;    
    cout<<C.add(12, 20, 23);   
   return 0;  
}




  执行上面代码,得到以下结果-

[C#] 纯文本查看 复制代码
30
55


  C++

  二、C++操作符重载

  操作符重载用于重载或重新定义C++中可用的大多数操作符。它用于对用户定义数据类型执行操作。

  运算符重载的优点是对同一操作数执行不同的操作。

  C++操作符重载示例

  下面来看看看在C++中运算符重载的简单例子。在本示例中,定义了voidoperator++()运算符函数(在Test类内部)。

[C#] 纯文本查看 复制代码
#include <iostream>  
using namespace std;  
class Test  
{  
   private:  
      int num;  
   public:  
       Test(): num(8){}  
       void operator ++()   
       {   
          num = num+2;   
       }  
       void Print() {   
           cout<<"The Count is: "<<num;   
       }  
};  
int main()  
{  
    Test tt;  
    ++tt;  // calling of a function "void operator ++()"  
    tt.Print();  
    return 0;  
}
 
  C++

  执行上面代码,得到以下结果-

  TheCountis:10

  免责声明:内容转自https://www.yiibai.com/cplusplus/cpp-overloading.html,如涉及侵权联系尽快删除!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

达内教育:成立于2002年。致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销、会计等职场人才 达内使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内愿景:做管理一流的教育公司
  • 商务合作

  • Powered by Discuz! X3.4 | Copyright © 2002-2024, 达内教育 Tedu.cn
  • 京ICP备08000853号-56 |网站地图