传值与传引用

来源:互联网 发布:linux查看进程id 编辑:程序博客网 时间:2024/05/01 02:23
传引用相比于传值具有以下优点:
1.能够避免拷贝构造函数和临时对象的析构函数的调用开销;

2.能够避免将派生类对象传递给基类形参时产生的切割现象,切割现象会将派生类所具有的特性都切割掉,变成一个简单的基类对象。

#include<iostream>using namespace std;class Base{public:Base(){}virtual void display(){cout<<"Base::display()"<<endl;}Base(const Base& rhy){cout<<"Base::Base(const Base& rhy)"<<endl;}virtual ~Base(){cout<<"Base::~Base()"<<endl;}};class Derived:public Base{public:Derived():Base(){}void display() override{cout<<"Derived::display()"<<endl;}Derived(const Derived& rhy):Base(rhy){cout<<"Derived::Derived(const Derived& rhy)"<<endl;}~Derived(){cout<<"Derived::~Derived()"<<endl;} };Base function(Base demo){demo.display();return demo;}Base& function2(Base& demo){demo.display();return demo;}int main(){Derived derived;cout<<"传值下的函数调用与切割现象"<<endl; function(derived);cout<<"传引用下的函数调用,无切割现象"<<endl;function2(derived);system("pause");//观察main函数退出之前的函数调用情况 }


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 车检过期一周了怎么办 车检快到期了了怎么办 机动车罚单丢了怎么办 摩托车脱审半年怎么办 摩托车半年没审怎么办 驾照扣分未缴款怎么办 驾驶证过期在外地怎么办 三年驾校过期了怎么办 车年检过期半年怎么办 驾照过期未年检怎么办 驾驶证时间过了怎么办 驾证年审逾期怎么办 驾照a2扣分了怎么办 叉车年检过期了怎么办 部队驾驶证过期了怎么办 车检过期5天怎么办 b2被注销了怎么办 小车逾期未审验怎么办 汽车逾期未审验怎么办 对方无偿还能力怎么办 摩托车驾驶证年审过期怎么办 当兵父亲有前科怎么办 被动态监控了怎么办 学习驾驶证明过期怎么办 a2驾驶证扣分了怎么办 c1驾驶证脱审怎么办 摩托车驾驶证脱审怎么办 行车证到期了怎么办 外省驾驶证掉了怎么办 错过教师证体检怎么办? c3驾驶证怎么办c1证 驾驶证扣分18分怎么办 货车罚款单上没写金额怎么办 报名费驾校不退怎么办 异地学车暂住证怎么办 考驾照老是紧张怎么办 驾照老考不过怎么办 三轮摩托车行驶证怎么办 a2驾驶证附件假背扣怎么办 驾驶证扣分15分怎么办 烟草证副本丢失怎么办