您的位置:首页 > 其它

第六周 程序阅读-深复制、友元、类模板(3)

2015-04-15 08:24 218 查看
代码

#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;
}


运行结果:





知识点总结:

1)

B 

temp = Play(5);
//调用Play函数,将参数5强制转换成B类型的对象传给形参b时调用有参构造函数创建对象b,打印constructed by parameter5,函数执行过程中打印mytest!,函数执行完后,b的作用域完了,被释放,调用析构函数打印destructed,在主函数中调用默认拷贝构造函数生成对象temp, 主函数结束,temp被释放,调用析构函数打印destructed

2) B(int i):data(i)

强制转换传值



学习心得:

好好学习 天天向上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: