构造函数,拷贝构造函数,赋值构造函数的调用机制
2011-06-02 11:27
375 查看
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout << "A::A" << endl;
}
A(const A& a)
{
cout << "A::A&" << endl;
}
A& operator =(const A& a)
{
cout << "A::A=" << endl;
return *this;
}
~A()
{
cout << "A::~A" << endl;
}
};
int main()
{
A a1; //调用构造函数
A a2 = a1; //调用拷贝构造函数
A a3(a1); //调用拷贝构造函数
A a4; //调用构造函数
a4 = a1; //调用赋值构造函数
return 0;
}
输出结果:
A::A
A::A&
A::A&
A::A
A::A=
A::~A
A::~A
A::~A
A::~A
using namespace std;
class A
{
public:
A()
{
cout << "A::A" << endl;
}
A(const A& a)
{
cout << "A::A&" << endl;
}
A& operator =(const A& a)
{
cout << "A::A=" << endl;
return *this;
}
~A()
{
cout << "A::~A" << endl;
}
};
int main()
{
A a1; //调用构造函数
A a2 = a1; //调用拷贝构造函数
A a3(a1); //调用拷贝构造函数
A a4; //调用构造函数
a4 = a1; //调用赋值构造函数
return 0;
}
输出结果:
A::A
A::A&
A::A&
A::A
A::A=
A::~A
A::~A
A::~A
A::~A
相关文章推荐
- 对构造函数、拷贝构造函数和赋值操作符调用的简单回顾
- 拷贝构造函数和赋值构造函数调用次序
- 对构造函数、拷贝构造函数和赋值操作符调用的简单回顾
- 拷贝构造函数 赋值构造函数 自动转型构造函数的调用
- 构造函数,拷贝构造函数,以及赋值操作调用的具体使用
- 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
- 构造函数,拷贝构造函数,赋值操作符的调用时机
- C++:派生类的默认构造函数和拷贝构造函数调用基类构造函数的机制(含程序验证)
- 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
- 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
- 区分什么时候调用构造函数,复制构造函数和赋值操作符例子
- 关于类的拷贝构造函数、赋值构造函数探究
- C++ 类的三种构造函数(默认构造,拷贝构造,赋值构造),在什么情况下会被调用
- 关于构造函数,拷贝构造函数与析构函数的自动调用的问题分析
- C++赋值操作符无重载情况下可能调用构造函数实现赋值的默认行为
- 网易游戏笔试题:编写string类的构造函数、拷贝构造函数、赋值构造函数和析构函数
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- C++ 拷贝构造函数 赋值构造函数
- C++构造函数、拷贝构造函数 和 类组合构造函数调用的应用
- Big-Five: 析构函数,拷贝构造函数,移动构造函数,拷贝赋值操作和移动赋值操作