调用拷贝构造函数进行初始化的时候,是不会调用=重载的。
// test.cpp : 定义控制台应用程序的入口点。////#include "stdafx.h"#include#include #include using namespace std; class A { private: int a; public: int getA() { return a; } A() { a = 1; cout << "构造函数..." << endl; } A(const A &b) { this->a = b.a; cout << "拷贝构造函数..." << endl; } void operator=(const A& b) { this->a = b.a + 1; cout << "=重载.." << endl; } }; int main() { A a; //构造函数 cout << a.getA() << endl; A b = a; //拷贝构造函数 cout << b.getA() << endl; A c; //构造函数 c = a; //=重载 cout << c.getA() << endl; system("pause"); return 0; }
结果如下: