C++的const类成员函数

C++的类中有两种定义:1.成员函数 2.数据成员

ps:以上是大概的讲,当然还有友元,既不是类的成员函数也不是数据成员,只是需要类中的一些数据在而类中声明一下而已。

对于成员函数而言,举个简单的例子

class Person{
private:
    int age;
    string name;
publuc:
    void getAge(){
        cout<<age;
}

}

这样显然是正确的,但是如果变成了const类成员函数则会发生一些变化,下面举两个例子说明:

class Person{
private:
    int age;
    string name;
publuc:
    void getAge()const{
        age=10;
        cout<<age;
}

}

1.上面这个例子就是错误的,因为const类成员函数不能修改类中的数据成员的值,上面getAge这个类函数中就改变了age的值。

class Person{
private:
    int age =10;
    string name;
publuc:
    void getAge()const{
        cout<<age;
}    
    void knowAge(){
        cout<<age;
}

}
...
...
int main()
{
    Person one;
    const Person two;
    
    one.getAge(); // OK
    two.getAge(); // OK

    one.knowAge();// OK
    two.knowAge();// It IS wrong
    return 0;
}

2.上面这个例子是说明了const对象不能使用类中的非const函数!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值