构造、拷贝构造、析构
2010-10-10 10:25
211 查看
#include <iostream>
class CA
{
public:
CA(int i=10)
{
m_i=i;
std::cout<<"执行构造函数:m_i="<<m_i<<std::endl;
}
~CA()
{
std::cout<<"执行虚构函数:m_i="<<m_i<<std::endl;
}
CA(const CA& ca)
{
m_i=ca.m_i;
std::cout<<"执行拷贝构造函数:m_i="<<m_i<<std::endl;
}
CA& operator *(const CA& ca)
{
m_i=ca.m_i;
std::cout<<"执行拷贝构造函数:m_i="<<m_i<<std::endl;
}
protected:
int m_i;
};
int main()
{
CA a(20);
{
CA b=a;
}
{
CA b;
b=a;
}
{
CA &b=a;
}
return 0;
}
结果:
class CA
{
public:
CA(int i=10)
{
m_i=i;
std::cout<<"执行构造函数:m_i="<<m_i<<std::endl;
}
~CA()
{
std::cout<<"执行虚构函数:m_i="<<m_i<<std::endl;
}
CA(const CA& ca)
{
m_i=ca.m_i;
std::cout<<"执行拷贝构造函数:m_i="<<m_i<<std::endl;
}
CA& operator *(const CA& ca)
{
m_i=ca.m_i;
std::cout<<"执行拷贝构造函数:m_i="<<m_i<<std::endl;
}
protected:
int m_i;
};
int main()
{
CA a(20);
{
CA b=a;
}
{
CA b;
b=a;
}
{
CA &b=a;
}
return 0;
}
结果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/01/27c2c906d2fab338b69cf3b8f9831adc.gif)
相关文章推荐
- 类的构造、析构、拷贝、赋值函数
- 简单的String类(构造、拷贝构造、赋值构造、析构等)
- 继承中构造、析构 与 拷贝构造、赋值中的调用区别
- object构造、拷贝构造、析构、临时对象
- 深入探索C++对象模型之五 --- 析构、构造、拷贝语意学
- 实现一个string类,包括构造、析构、拷贝构造及operator= 函数
- Lession 9 构造、析构、拷贝
- 《深度探索c++对象模型》 学习笔记 - 5 构造、析构、拷贝 语义学
- C++对象模型 第五章 构造、析构、拷贝语意学
- 复数类的相关运算(判断大小及四则运算)->(构造,析构,拷贝复制,运算符重载)
- 构造、析构、无参构造、拷贝构造说明
- 深度探索C++对象模型:5.构造、析构、拷贝语意学
- 第五章、构造、析构、拷贝语意学
- 深度探索C++对象模型 第五章 构造、析构、拷贝语意学
- 类的基本成员函数实现(构造,拷贝构造,拷贝赋值,移动构造,移动赋值,析构)
- C++ 了解C++默默编写并调用哪些函数(构造 析构 拷贝构造 拷贝赋值)
- 【深度探索C++对象模型读书笔记】【第5章】构造、析构、拷贝语意学
- 请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能。
- 构造、析构、拷贝语意学
- C++编程规范(六) 构造、析构和拷贝