一 概述
由于引用不能重新分配去引用另一个对象,它始终是常量,所以我们不用将它设置为常量
二 代码及结果输出
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 执行析构函数,删除该对象
|