C++中对象的常引用

C++中对象的常引用

ID:38165789

大小:52.93 KB

页数:4页

时间:2019-06-03

C++中对象的常引用_第1页
C++中对象的常引用_第2页
C++中对象的常引用_第3页
C++中对象的常引用_第4页
资源描述:

《C++中对象的常引用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【C++中对象的常引用】直接传递对象名用对象名做函数参数时,在函数调用时将建立一个新的对象,它是形参对象的拷贝。================下面给出一个直接传递对象名的例子程序1.1================== 1.#include  2.using namespace std;  3.class Time   4.{  5.    public:  6.        Time(int,int,int);//构造函数   7.        void Print();//输出信

2、息函数   8.        void reset(Time t);//重置函数   9.    private:  10.        int year;  11.        int month;  12.        int day;          13.};  14.Time::Time(int y,int m,int d)  15.{  16.    year=y;  17.    month=m;  18.    day=d;  19.}  20.void Time::Print()  

3、21.{  22.    cout<

4、eset(t1);//重置t1中的数据成员  35.    t1.Print();//输出t1中的数据成员  36.    return 0;  37.}   运行结果: 从运行结果来看,reset函数并没有起到作用。实参把值传递给形参,二者分别占不同的存储空间。无论形参是否修改都不会到实参的值。这种形式的虚实结合,要产生实参的拷贝,当对象的规模比较大的时候,则时间开销和空间开销都可能很大。因此,这种方法虽然可行,但是并不提倡这种用法~形参为对象的引用如果形参为对象的引用名,实参为对象名,则在调用函数进行虚实结

5、合时,并不是为形参另外开辟一个存储空间(常称为建立实参的一个拷贝),而是把实参变量的地址传给形参(引用名),这样引用名也指向实参变量。对于程序1.1而言,我们只需要将reset函数的形参声明为对象的引用即可。 1.#include  2.using namespace std;  3.class Time   4.{  5.    public:  6.        Time(int,int,int);//构造函数   7.        void Print();//输出信息函数   8

6、.        void reset(Time &t);//重置函数 ============对这一行代码进行了修改======================  9.    private:  10.        int year;  11.        int month;  12.        int day;          13.};  14.Time::Time(int y,int m,int d)  15.{  16.    year=y;  17.    month=m;  18.  

7、  day=d;  1.}  2.void Time::Print()  3.{  4.    cout<

8、 Time t1(12,12,12);  15.    t1.Print();  16.    t1.reset(t1);  17.    t1.Print();  18.    return 0;  19.}   运行结果: 形参为对象的常引用如果我们在声明函数的参数为对象引用的时候,还可以将它声明为const(常引用) 1.void reset(const Time &t);  则

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。