C中关于重载(overload)介绍(想了解的这儿都有)

C中关于重载(overload)介绍(想了解的这儿都有)重载的含义是什么 重载有哪些 重载方法 重载函数该怎么写 重载的特点是什么 重载的作用是什么 使用重载时应该注意什么

前言:在编程过程中,难免会遇到一种方法或者一种函数可以拥有不同的参数,这就是用到了重载,下面我们一起去探索重载的秘密:

一.重载的含义:

它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,我们可以根据参数类型不同去选择我们所需要的;

二.重载的分类:

1.方法重载:

在同一个类中,方法名称相同,但是参数列表不同(参数个数不同、参数类型不同、不同类型的排列顺序不同),称之为方法的重载,方法的重载不包含继承关系,重载不用考虑方法的返回值类型,重载类型顺序必须不同;
例如:

 class First { 
    public void Study() { 
    Console.WriteLine("我是没有参数的overload"); } public void Study(string name) { 
    Console.WriteLine("我是带有一个参数的overload {0}", name); } public void Study(string name, int age) { 
    Console.WriteLine("我是带有两个参数的overload {0} 我创建了{1}个参数", name, age); } public void Study(string name, int age, string sex) { 
    Console.WriteLine("我是带有三个参数的overload {0} 我创建了{1}个参数 我想去 {2}", name, age, sex); } } 

在这里插入图片描述
看看运行结果:
在这里插入图片描述

2.函数重载:

指一个类中构造函数也可以重载,只要符合重载的规则即可,重载函数常用来实现功能类似而所处理的数据类型不同的问题。不能只有函数返回值类型不同;
两个重载函数必须在下列一个或两个方面有所区别:
1、函数的参数个数不同。
2、函数的参数类型不同或者参数类型顺序不同,



举例:

 public First() { 
    Console.WriteLine("我是第一个重载函数"); } public First(int a) { 
    Console.WriteLine("我是第{0}个重载函数",a); } public First(string a) { 
    Console.WriteLine(a); } static void Main(string[] args) { 
    First first = new First(); First ff=new First(2); First dd = new First("我是第三个重载函数"); Console.ReadLine(); } 

3.运算符重载:

重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。与其他函数一样,重载运算符有返回类型和参数列表,由于涉及到新的关键字,本重载将会在下文详细解释,敬请期待!!!

三.重载的特点:

  1. 名称相同,参数列表不同;
 public void Study() { 
    Console.WriteLine("我是没有参数的overload"); } public void Study(string name) { 
    Console.WriteLine("我是带有一个参数的overload {0}", name); } public void Study(string name, int age) { 
    Console.WriteLine("我是带有两个参数的overload {0} 我创建了{1}个参数", name, age); } public void Study(string name, int age, string sex) { 
    Console.WriteLine("我是带有三个参数的overload {0} 我创建了{1}个参数 我想去 {2}", name, age, sex); } 
  1. 参数个数不同,参数类型不同;
 public void Study(string name, int age) { 
    Console.WriteLine("我是带有两个参数的overload {0} 我创建了{1}个参数", name, age); } public void Study(string name, int age, string sex) { 
    Console.WriteLine("我是带有三个参数的overload {0} 我创建了{1}个参数 我想去 {2}", name, age, sex); } 
  1. 若参数的个数相同,那么参数类型的顺序必须不一样;
public void Study(string name,int age) { 
    Console.WriteLine("我是带有一个参数的overload {0}", name); } public void Study(string me, int e) { 
    Console.WriteLine("我是带有两个参数的overload {0} 我创建了{1}个参数", me, e); } 

四.重载的作用:

  1. 重载的好处就是,不用为了对不同的参数类型或参数个数,而写多个函数。多个函数用同一个名字,但参数表,即参数的个数或数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。
  2. 重载的最直接作用是方便我们可以根据不同的参数个数,顺序,类型,自动匹配方法,减少写过个函数名或方法名的重复步骤。

五.重载的注意事项:

  1. 在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(同一方法内的几个参数类型必须不一样,例如可以是fun(int, float), 但是不能为fun(int, int));
  2. 不能通过访问权限、返回类型进行重新加载;
  3. 方法的数目不会对重新加载造成影响;
  4. 对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

以上就是本次的主要内容了,若有不足还请指正…????????

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231237.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月20日 上午10:01
下一篇 2026年1月20日 上午10:22


相关推荐

  • WinForm拖动没有标题栏窗体的方法

    建立窗体的名称修改为:Form_HoverTree文后附有源码下载。主要代码:效果图:可以看出,这个窗体为自定义形状的窗体,没有标题栏。具体参考:http://hovertree.com/h/bj

    2021年12月28日
    41
  • Java 枚举 (enum) 使用方法

    Java 枚举 (enum) 使用方法什么是枚举 枚举类型是 Java5 中新增特性的一部分 它是一个特殊的 class 这个 class 相当于 finalstatic 修饰 不能被继承 所有的枚举都继承自 java lang Enum 类 由于 Java 不支持多继承 所以枚举对象不能再继承其他类 在没有枚举类型时定义常量常见的方式 Createdbyzej 5 7 Blog http blog csdn net javazejian 原文地址 请尊重原创 使用普通方式定义日期常量

    2025年8月11日
    4
  • C语言 —— int32_t uint32_t 及size_t

    C语言 —— int32_t uint32_t 及size_t文章目录使用 int64 t 形式代替基本类型使用原因 stdint h 源码 int32 t 和 uint32 t 的区别 size t 在不同机器中定义不同 参考文档使用 int64 t 形式代替基本类型我们都知道 C 语言的基本类型就 char short int 等 但是我们在看其他源码时经常碰到 int32 t int8 t 这种形式的定义 他们是什么呢 其实他们就是基本类型的 typedef 重定义 也就是不同平台下 使用以下名称可以保证固定长度 1 字节 int8 t char2 字节 int1

    2026年3月17日
    2
  • for while循环语句举例python_python中while和for循环的用法

    for while循环语句举例python_python中while和for循环的用法程序在一般情况下是按顺序执行的。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式1.循环控制语句在了解循环语句的使用方法之前,我们先来了解几个循环控制语句:1)…

    2026年4月13日
    4
  • php function 定义时函数名前加&符号的意义[通俗易懂]

    php function 定义时函数名前加&符号的意义

    2022年2月9日
    38
  • Xftp的下载、安装、使用

    Xftp的下载、安装、使用Xftp的下载

    2022年10月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号