| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3196 人关注过本帖
标题:在函数前加const时什么意思啊
只看楼主 加入收藏
yy7software
Rank: 2
等 级:论坛游民
帖 子:21
专家分:48
注 册:2011-10-13
结帖率:100%
收藏
 问题点数:0 回复次数:8 
在函数前加const时什么意思啊
在函数前加const是什么意思哇?像const num& operator++(){}  num x=++i;可以。 而 num x=++++i;则不可以,为什么? 谢谢
搜索更多相关主题的帖子: 函数 
2011-10-13 11:55
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
表示返回的是常量。
int f() 返回的就是 int
const int f() 返回的就是 const int。
如果是
int & f() ,返回的就是 int 的引用。

第二个问题,就有点……

2011-10-13 21:37
yy7software
Rank: 2
等 级:论坛游民
帖 子:21
专家分:48
注 册:2011-10-13
收藏
得分:0 
额,,谢谢哈,
2011-10-14 01:18
yy7software
Rank: 2
等 级:论坛游民
帖 子:21
专家分:48
注 册:2011-10-13
收藏
得分:0 
  
图片附件: 游客没有浏览图片的权限,请 登录注册
2011-10-14 01:55
yy7software
Rank: 2
等 级:论坛游民
帖 子:21
专家分:48
注 册:2011-10-13
收藏
得分:0 
这个怎么用哦 不会,,
程序代码:
 #include <iostream>
using namespace std;
class num
{
public:
    num(){n=1;cout<<"构造函数执行"<<endl;}
    num (const num &s){this->n=s.n;cout<<"复制构造函数执行"<<endl;}
    num(int i){n=i;cout<<"构造函数执行"<<endl;}
    ~num(){cout<<"析构函数执行"<<endl;}
    int get()const {return n;}
    void set(int x){n=x;}
    void add(){n++;}
    const num &operator++(){++n;return *this;}
   
private:
    int n;
};
int main()
{
    num i;
    cout<<"i:"<<i.get()<<endl;
    num x=++i;        //为什么执行这里会执行一次复制构造函数?
    // 把上面x=++i;换成num x=++++i;怎么不能执行;如果去掉opertor前面的const就可以
    cout<<"x:"<<x.get()<<endl;
    cout<<"i:"<<i.get()<<endl;
   
    return 0;
}


2011-10-14 01:56
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
收藏
得分:0 
num x=++i;
这句话是先执行运算符++重载函数,再进行对象赋值,肯定要执行构造函数了
2011-10-14 09:49
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
收藏
得分:0 
上面说错了,是复制构造函数
2011-10-14 09:49
yy7software
Rank: 2
等 级:论坛游民
帖 子:21
专家分:48
注 册:2011-10-13
收藏
得分:0 
额 哈哈 谢了
2011-10-14 10:17
yy7software
Rank: 2
等 级:论坛游民
帖 子:21
专家分:48
注 册:2011-10-13
收藏
得分:0 
为什么将num=++i换成num x=++++i;出错呢?
2011-10-14 10:19
快速回复:在函数前加const时什么意思啊
数据加载中...
 
   



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

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