标题:class类中的函数声明后面跟const的意思是什么?
只看楼主
新人学习
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:145
专家分:187
注 册:2017-10-26
结帖率:66.67%
 问题点数:0 回复次数:3 
class类中的函数声明后面跟const的意思是什么?
#pragma once
#include<string>
using namespace std;
class Person
{
public:
   
    Person(){ lname = ""; fname[0] = '\0'; }
    Person(const string &ln, const char *fn = "Heyyou");
    void Show()const;
    void FormalShow()const;
   

private:
    static const int LIMIT = 25;
    string lname;
    char fname[LIMIT];
};
搜索更多相关主题的帖子: class 函数 const string Person 
2018-01-16 12:34
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
在函数体中不允许对它的值进行修改操作
2018-01-16 22:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
回复 2楼 yangfrancis
严格来讲是不可以改变对象的逻辑值
比如 mutable修饰的成员变量就可以被修改
2018-01-16 22:52
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
得分:0 
简单的说你就不能改函数内 非mutable定义的 -> 本类的成员
非const传入参数可以修改

hl928452957@gmail点com

2018-01-22 09:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484273-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.590945 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved