CPP学习之——按别名来传递对象(9.13)

一 概述

由于引用不能重新分配去引用另一个对象,它始终是常量,所以我们不用将它设置为常量

二 代码及结果输出

2.1 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<iostream>
using namespace std;
class A {

public:
A() {cout << "执行构造函数,创建一个对象\n";}
A(A&) {cout << "执行复制构造函数,创建该对象的副本\n";}
~A() {cout << "执行析构函数,删除该对象\n";}
void set(int x){i=x;}
int get()const{return i;}
private:
int i;
};
const A& func( const A & one)
{
//one->get();
//one->set(11);
//one++;
return one;
}
int main()
{
A a;
a.set(11);
A const &b=func(a);
cout<<b.get()<<endl;
//b.set(33);
cout<<b.get()<<endl;
return 0;
}

3.2 输出结果

1
2
3
4
执行构造函数,创建一个对象
11
11
执行析构函数,删除该对象