C++中const对象与类成员

2017-10-14  本文已影响0人  nethanhan

const对象


#include <stdio.h>

class Test
{
    int mi;
    int mn;
public:
    int mj;
    Test(int i);
    Test(const Test& t);
    int getMi();
    int Test::getMn()const;
};

Test::Test(int i)
{
    mi = i;
    mn = i;
}

Test::Test(const Test& t)
{
    
}
    
int Test::getMi()
{
    return mi;
}

int Test::getMn()const
{
    //这里会报错。因为不可以修改成员变量
    mn = 2;
    
    return mn;
}

int main()
{
    //定义只读对象
    const Test t(1);
    
    //这里肯定报错,因为是只读对象
    t.mj = 0;
    
    //这里也会报错,因为const对象只能调用const成员函数
    printf("t.getMi() = %d", t.getMi());
    
    //这里不会报错,因为const对象可以调用const成员函数
    printf("t.getMi() = %d", t.getMn());
    
    return 0;
}

类成员


上一篇 下一篇

猜你喜欢

热点阅读