1.1 函数重载 1.1.1函数重载分析
函数重载的本质是相互独立的不同函数。(重要)C++ 中通过函数名和函数参数确定函数调用无法直接通过函数名得到重载函数的入口地址(还需要函数参数)函数重载必然发生在同一个作用域。1.1.2 类中成员函数可以进行重载
构造函数之间可以进行重载普通成员函数之间也可以进行重载静态成员函数之间也可以进行重载那么普通成员函数和静态成员函数之间可以进行重载吗?可以注意
重载函数的本质为多个不同的函数函数名和参数列表是唯一的标识函数重载必须发生在同一个作用域中1.1.3 示例代码
#include <stdio.h> #include <stdlib.h> #include <string.h> void func() { printf("void func()\n"); } void func(int i) { printf("void func(int i) \n"); } class Parent { private: int mi; public: Parent() { mi =0; printf("Parent()\n"); } Parent(int i) { mi =i; printf("Parent(int i) \n"); } Parent(const Parent & obj) { this->mi =obj.mi; printf("Parent(const Parent & obj)\n"); } static void func() { printf("static void func()\n"); } void func(int i) { printf("void Parent::func(int i)\n"); } }; int main() { Parent p1; //Parent() Parent p2( 2); // Parent(int i) Parent p3(p2); //Parent(const Parent & obj func() ; // void func() func(10); //void func(int i) Parent::func() ; //static void func() p2.func(10) ; //void Parent::func(int i) return 0; }1.2 重载 意义分析 1.2.1 重载意义
通过函数名对函数功能进行提示 (函数自助功能)通过参数列表对函数用法进行提示扩展系统中已经存在的函数功能1.2.2 1.2.3
1.3函数重写 1.3.1 函数重写本质
函数重写发生在不同继承关系的类中重写是实现多态的必要条件函数重写必须保证函数的参数,函数名称函数返回值相同。参考一 :狄泰软件学院C++进阶剖析 如有侵权:请联系邮箱 1986005934@qq.com