码迷,mamicode.com
首页 > 其他好文 > 详细

常量对象函数引用和参数传递

时间:2016-07-08 13:38:09      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

定义对象时在前面加上const关键字,则对象的值不会改变。

类的成员函数说明后加const关键字,则该成员函数为常量成员函数。常量成员函数不应该修改其所作用的对象。因此,在常量成员函数中不能修改成员变量的值(静态成员变量除外),也不能调用同类的非常量成员函数(静态成员函数除外)。

常量成员函数的重载

两个成员函数,名字和参数表都一样,但是一个是const,一个不是,算重载。

常引用:不同通过常引用修改其所指对象的值。

对象作为函数的参数时,生成该参数需要调用复制构造函数,效率比较低。可以用对象的引用作为参数。

参数传递:形参的初始化和变量的初始化一样:如果形参具有非引用类型,则复制实参的值;如果为引用类型,则它只是实参的别名。

相应代码如下:

#include <iostream>

using namespace std;

class Ctest
{
private :
    int n;
public :
    int m;
    Ctest(int a):m(a),n(1){}
    void Getvalue() const
    {
        cout << n << endl;
    }
    void Getvalue() 
    {
        cout << 2 * n << endl;
    }
};

int main()
{
    const Ctest c1(2);
    Ctest c2(5);
    c1.Getvalue();
    c2.Getvalue();
    return 0;
}

 

常量对象函数引用和参数传递

标签:

原文地址:http://www.cnblogs.com/helloforworld/p/5652866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!