今天看啥  ›  专栏  ›  嵌入式微处理器

C++中不一样的重载!

嵌入式微处理器  · 公众号  ·  · 2024-07-18 18:28

文章预览

关于什么是重载想必大家都知道,无非就是参数个数不同,参数类型不同可以重载,这里我就不过多介绍啦。 这里想分享C++中一个不一样的重载,即const重载。 可以看下面的代码: struct A { int count () { std :: cout < < "non const" < < std :: endl ; return 1 ; } int count () const { std :: cout < < "const" < < std :: endl ; return 1 ; } }; int main () { A a; a.count(); const A b; b.count(); } 这段代码会输出什么? ? ? ? ? ? 输出的是这样: non const const 不知道大家平时有没有关注过这种用法,没关注过可以继续向下看哈。 从上面的输出结果我们也可以看到,const修饰的对象调用的是使用const修饰的方法,非const对象调用的是非const的方法。 然而想必大家都知道对象调用的原理: 看下面的这段代码: A a ; a .fun ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览