问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

类中的这两个成员函数: const int fun(){} 和 int fun() const{}...

发布网友 发布时间:2024-10-09 05:16

我来回答

5个回答

热心网友 时间:2024-10-12 08:15

const int fun(){} 和 int fun() const{}肯定是不一样的。
1.const int fun(){} 此处的const其实没有意义,等同于 int fun(){} ,因为函数返回的本身是一个固定值,加不加const无所谓,它只是类的一个普通的成员函数而已。
2.int fun() const{} 则是类的常成员函数。它不能更新对象的数据成员,也不能调用该类中没有const修饰的成员函数(这就保证了在常成员函数中绝对不会更改数据成员的值)。
3.如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,而不能调用其他成员函数。

热心网友 时间:2024-10-12 08:10

不一样
1、返回值不一样,第一个是const int 第二个是int
2、第一个允许修改类得成员变量的值。第二个不允许
例如:
struct A
{
A(int v):a(v),b(v){}
const int func()
{
a++;//ok 可以修改成员变量值
return a;
}
int func() const
{
b++;//error 不能修改成员变量值
return b;
}
int a;
int b;
};

热心网友 时间:2024-10-12 08:17

#include <iostream>
using namespace std;

class A{
public:
A(int x,int y):m_n(x),m_x(y){}
void foo(void) const
{

}
const int bar(void)
{

}
ostream& operator>> (ostream& os) const
{
return os<<" "<<m_n<<" "<<m_x;
}
private:
int m_n;
int m_x;
};

int main()
{
A pa(10,20);
//pa.foo();//无法调用 foo()是一个常函数 .是不能修改函数内的成员变量的值//只有const对象才能调用
pa.bar();//可以调用 bar()是一个const int类型的返回值,这个返回值无法修改
pa>>cout<<endl;
}

热心网友 时间:2024-10-12 08:11

const int fun(){} 表示函数不能为左值。必须用一个变量来接收他得返回
例如:int a = const int fun();//正确
const int fun();//直接调用会报错
int fun() const{}这个表示类中的const成员也能调用这个函数。

热心网友 时间:2024-10-12 08:10

1.const int fun(){} 是函数fun()返回一个int型常量。
2.int fun() const{} 称为常函数。当声明了一个类的常对象后,这个常对象只允许该类的常成员函数操作。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
婴幼儿认知功能的主义转变出现在几岁 认知发展理论心理发展过程 如何判断相亲对象是否渣男呢? 游船怎么造句 mei字造句 赏阅怎么造句 张金战个人记事 空调扇怎么关 matlab怎么运行程序文件-matlab运行程序文件的方法教程 ios8.1.1怎么没有搜索栏了 笔记本华硕E46c, 4580和联想Z460, 4300都是i5的哪款好?贵不贵? 这几张图片分别来自什么电影? 求这张表情图片里电影的名字 下雨天北京去哪玩比较好 北京下雨天适合去哪玩? 微量元素检查正常值 xpel是什么 工商局红盾网网址是什么?? 除了库里、纳什,NBA史上还有哪些靠技术打天下的球星? 维护国家安全的基本准则 国家安全工作基本原则 我家孩子是2013年农历10月初一早晨6点58分出生的,想看看孩子五行中缺什... 作文我爱我的祖国我爱我的祖国作文 此木成柴山山出? 此木是柴山山出。怎样接 ...今天一看有一种都僵硬了,碰它都一动不动了,怎么救活它,我好内疚... 草龟在今天趴在水底,脖子四肢都伸出,一动不动,摁脖子也没反应,它是不... ...昨天发现它四肢软 下午四肢就僵硬了也不动 请问是死了吗? 如何检查折耳猫尾巴 女朋友对我说海誓山盟亦会分开 都是联想的品牌 一个联想(ThinkPad)一个联想(Lenovo)下面哪款好_百度知... ...是静态数据成员 什么是静态成员函数 分别有什么作用? 联想g410款型号dgr3l的笔记本大概要多少钱? 在批改网上做一篇the value of mistakes的作文,内容相关的成绩怎么提高... ...题目是 My dream.这个是要放到批改网上的所以不能抄袭。 我想问一下忻州到洪洞晚上的火车有几趟? 从洪洞西有没有到忻州市的高铁了?或者直达的火车了? 洪洞到忻州的火车k7808,10月10号能通了吗? 洪洞到忻州6月8号硬座火车票 ...使用软件keil uvision 编写。并使用STC-isp-v479来烫程序。_百度知... 启辰t60长城h2吉利缤越奇瑞瑞虎3长安cs35荣耀rx3传祺gm3同价哪个小毛病... 18岁非常爱运动的男孩子会有血压高吗? 我今年18岁有高血压,可能什么引起我的高血压? 怎样让管理员账户无法更改密码 男方离婚女方不想离怎么办 为什么电脑开机会出现checking filesystem once呢? 我是1988年6月1号出生的男同志,谁能帮我解读一下我的运势 一部电影说的是一个人被抓进一个封闭的地方,打很多游戏场景的厮杀,赢... 我是88年6月8日双子座女生,分析一下 ...年6月19出生的双子座女生,请问一下今年我的运势会如何?桃花运呢?今 ...