方小韩丶 发表于 2018-3-8 11:51:11

函数重载可以拥有同一版本的const &和非const&的返回类型吗

本帖最后由 方小韩丶 于 2018-3-8 11:56 编辑

在一个类里看到了
const char & operator[] (int i) const;
char & operator[] (int i) ;
为什么同一个类可以有个这两种标签一样的成员函数, 编译器怎么区分, 非成员函数重载可以这样吗?

BngThea 发表于 2018-3-8 11:51:12

方小韩丶 发表于 2018-3-8 12:14
参数一样 只靠后面的const编译器是怎么区分的?这样这种情况是不是就只适应于类函数

一般在类设计中比较常见

BngThea 发表于 2018-3-8 12:11:24

关键是后面的那个const,返回值类型并不能的起到重载的作用

方小韩丶 发表于 2018-3-8 12:14:06

BngThea 发表于 2018-3-8 12:11
关键是后面的那个const,返回值类型并不能的起到重载的作用

参数一样 只靠后面的const编译器是怎么区分的?这样这种情况是不是就只适应于类函数
页: [1]
查看完整版本: 函数重载可以拥有同一版本的const &和非const&的返回类型吗