C++ 匿名对象
2017-01-04 16:28
183 查看
#include <iostream>
using namespace std;
class Cat
{
public:
Cat()
{
cout << "Cat construct" << endl;
}
Cat(Cat& obj)
{
cout << "Cat copy construct" << endl;
}
~Cat()
{
cout << "Cat destruct" << endl;
}
};
void playStage()
{
Cat(); /*在执行此代码时,利用无参构造函数生成了一个匿名Cat类对象;执行完此行代码,
因为外部没有接此匿名对象的变量,此匿名又被析构了*/
Cat cc = Cat(); /*在执行此代码时,利用无参构造函数生成了一个匿名Cat类对象;然后将此匿名变
成了cc这个实例对象,此匿名对象没有被析构。*/
cout << "cc not be destruct" << endl;
}
int main()
{
playStage();
return 0;
}
using namespace std;
class Cat
{
public:
Cat()
{
cout << "Cat construct" << endl;
}
Cat(Cat& obj)
{
cout << "Cat copy construct" << endl;
}
~Cat()
{
cout << "Cat destruct" << endl;
}
};
void playStage()
{
Cat(); /*在执行此代码时,利用无参构造函数生成了一个匿名Cat类对象;执行完此行代码,
因为外部没有接此匿名对象的变量,此匿名又被析构了*/
Cat cc = Cat(); /*在执行此代码时,利用无参构造函数生成了一个匿名Cat类对象;然后将此匿名变
成了cc这个实例对象,此匿名对象没有被析构。*/
cout << "cc not be destruct" << endl;
}
int main()
{
playStage();
return 0;
}
相关文章推荐
- Debug 版的 C/C++ Python 扩展模块链接错误:Error LNK1104 cannot open file 'python35_d.lib'
- C++Primer第五版 第五章习题答案(11~20)
- 算法训练 最小乘积(基本型)
- C++参数传递,数组引用传递,保护数组退化为指针
- C语言中typedef和define的用法
- C++的const
- 【C++】简单的多个cpp组合程序
- C语言编译器
- c++中include的两种写法
- C语言建造自己的调试信息系统
- C程序设计语言- 函数与程序结构-3.1----函数的基本知识、外部变量、作用域规则、头文件
- C语言 system函数
- 算法提高 最大乘积
- c语言函数指针的理解与使用
- C语言中的static和extern
- C语言课程设计:小学生考试系统
- 【语言-C++】调用window自带的文件属性窗口
- 《C++ Primer Plus(第六版)》(40)(第十七章 输入、输出和文件 复习题和答案)
- cpp 10.10
- C++11新特性之列表初始化