#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;
}
结果:

本文通过一个具体的 C++ 类实例,展示了构造函数、析构函数及拷贝构造函数的工作原理。深入剖析了不同场景下这些函数的调用过程,并通过实际代码运行结果进行说明。
1180

被折叠的 条评论
为什么被折叠?



