首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >常量对象的函数重载

问常量对象的函数重载
EN

Stack Overflow用户
提问于 2015-09-14 21:54:23
回答 1查看 38关注 0票数 1
代码语言:javascript
复制
struct A {

    void foo(int i, char& c) { 
        cout << "foo int char&" << endl;
    } 

    void foo(int& i, int j) const {
        cout << "const foo int& int" << endl;
    } 

}; 

int main() {   
    A a;   
    const A const_a;   
    int i = 1;   
    char c = 'a';   
    a.foo(i,i);
} 

将印刷:

const foo int& int

我不明白为什么。为什么"const foo int& int“不会印刷?我认为常数对象只能调用常量方法,没有const可以调用none const。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-14 21:55:29

你误解了会员-const。

普通对象可以在其上调用任何成员函数,const或其他。

约束条件是您的const_a将无法在其上调用非const成员函数。不幸的是,你没有测试这个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32574549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档