C++笔记 第二十九课 类中的函数重载---狄泰学院

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42187898/article/details/83856918

如果在阅读过程中发现有错误,望评论指正,希望大家一起学习,一起进步。
学习C++编译环境:Linux

第二十九课 类中的函数重载

1.函数重载回顾

函数重载的本质为相互独立的不同函数
C++中通过函数名和函数参数确定函数调用
无法直接通过函数名得到重载函数的入口地址
函数重载必然发生在同一个作用域中

2.类中的重载

类中的成员函数可以进行重载
构造函数的重载
普通成员函数的重载
静态成员函数的重载
问题:全局函数,普通成员函数以及静态成员函数之间是否可以构成重载?

3.万变不离其宗

1.重载函数的本质为多个不同的函数
2.函数名和参数列表是唯一的表示
3.函数重载必须发生在同一个作用域中

29-1 类与重载全面分析

4.深度的意义—现在提倡代码自助式,即不需要注释来说明如何调用

重载的意义
通过函数名对函数功能进行提示
通过参数列表对函数用法进行提示
扩展系统中已经存在的函数功能

29-2 重载的意义分析

#include<stdio.h>
#include<string.h>
char* strcpy(char* buf, const char* str, unsigned int n)
{
    return strncpy(buf, str, n);
}
int main()
{
    const char* s = "asdf";
    char buf[3] = {0};
    //strcpy(buf, s);
    //strncpy(buf,s,sizeof(buf)-1); //C语言的做法 ~ what c language do
    strcpy(buf,s,sizeof(buf)-1);
    printf("%s\n", buf);
    return 0;
}

5.思考

重载能够扩展系统中已经存在的函数功能!那么重载是否也能够扩展其他更多的功能?
下面的复数解决方案是否可行?不可行—这个下节课讲
在这里插入图片描述
小结
类的成员函数之间可以进行重载
重载必须发生在同一个作用域中
全局函数和成员函数不能构成重载关系
重载的意义在于扩展已经存在的功能

猜你喜欢

转载自blog.csdn.net/weixin_42187898/article/details/83856918