函数重载,覆盖,参数缺省值,不能被重载的运算符,元芳,你怎么看?
2012-12-24 17:27
337 查看
重载于覆盖的区别:
成员函数被重载的特征:
1 相同的范围 (在同一个类中)
2 函数名字;
3 参数不同
4 virtual关键字可有可无
覆盖式指派生类函数覆盖基类函数,特征是:
1 不同的范围(分别用于派生类与基类)
2 函数名字相同
3 参数不同
4 基类函数必须有virtual关键字
有一些参数的值在每次函数调用时都相同:参数缺省值
其职能在函数的声明中,不能在定义中
如果有多个参数,参数只能从后向前挨个缺省,否则将导致函数调用语句怪模怪样
不能被重载的运算符
1 不能改变c++内部数据类型(int,float)的运算符
2 不能重载‘。’,因为其在类中对任何成员都有意义,已经成为标准用法了
3 不能重载目前c++运算符集合中没有的符号,如#@,一是难以理解,二是难以确定优先级
4 对已经存在的运算符进行重载时,不能改变优先级规则,否则将引起混乱
成员函数被重载的特征:
1 相同的范围 (在同一个类中)
2 函数名字;
3 参数不同
4 virtual关键字可有可无
覆盖式指派生类函数覆盖基类函数,特征是:
1 不同的范围(分别用于派生类与基类)
2 函数名字相同
3 参数不同
4 基类函数必须有virtual关键字
有一些参数的值在每次函数调用时都相同:参数缺省值
其职能在函数的声明中,不能在定义中
如果有多个参数,参数只能从后向前挨个缺省,否则将导致函数调用语句怪模怪样
不能被重载的运算符
1 不能改变c++内部数据类型(int,float)的运算符
2 不能重载‘。’,因为其在类中对任何成员都有意义,已经成为标准用法了
3 不能重载目前c++运算符集合中没有的符号,如#@,一是难以理解,二是难以确定优先级
4 对已经存在的运算符进行重载时,不能改变优先级规则,否则将引起混乱
相关文章推荐
- final方法不能被覆盖,可被重载(方法名相同而参数不同)
- final方法不能被覆盖,可被重载(方法名相同而参数不同)
- ViewState的状态值在url参数变化时,不能保存值,怎么解决
- c++中的命名空间、函数重载、缺省参数
- C++不能重载的运算符
- C++中那些运算符不能重载
- 利用类的成员函数重载双目运算符其最多只有一个参数
- 怎么解决form表单中 disable属性不能提交的问题,form表单获得不了某个参数
- C++ 不能重载的运算符
- C++中不能被重载的运算符
- java-05方法重载、覆盖、参数传递、构造方法
- C++中不能重载的运算符
- 函数的缺省参数与函数的重载
- c++中不能重载的运算符
- C++中的作用域运算符和函数参数缺省值知识
- C++中不能重载的运算符
- More Effective C++ 阅读笔记(六)--哪些运算符不能重载
- 重载与参数缺省
- 【从C到C++学习笔记】内联成员函数/成员函数重载及缺省参数
- C++ 缺省参数 重载 C++编译器的函数名修饰规则