第六周程序阅读(3)

来源:互联网 发布:怎么装修企业淘宝店铺 编辑:程序博客网 时间:2024/06/07 09:05
/**Copyright (c)2015,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:score.cpp*作    者:惠睿*完成日期:2015年4月9日*版 本 号:v1.0**问题描述:阅读程序,写出程序的运行结果并理解。*程序输入:无输入。*程序输出:输出调用函数后的值。*/#include <iostream>using namespace std;class B{public:    B()    {        cout<<"default constructor"<<endl;    }    ~B()    {        cout<<"destructed"<<endl;    }    B(int i):data(i)    {        cout<<"constructed: " << data <<endl;    }private:    int data;};B Play(B b){    return b ;}int main(){    B temp = Play(5);    return 0;}


预计运行结果:constructed:5

                         destructed

                         destructed

实际运行结果:

知识点总结:B temp = play(5);这个语句实际调用了两个函数, play() 也是  类B  的函数而且形参还是  类B  的对象,所以会在执行完语句后,执行两次析构函数,输出两次  destructed  。

0 0
原创粉丝点击