首页 > 代码库 > C++ 复制构造和赋值操作符调用
C++ 复制构造和赋值操作符调用
主要是为了记录说明 :
class A;
A a;
A b = a; //这个是调用复制构造函数呢?还是先构造,再调用赋值操作符? 结果是前者。
测试代码:
#include <stdio.h> #include <stdlib.h> class A { public: A() { printf("%s\n", "A constructor"); } A(const A &a) { this->data_ = a.data_; printf("%s\n", "A copy constructor"); } A& operator=(const A &a) { this->data_ = a.data_; printf("%s\n", "A operator="); } private: int data_; }; int main(int argc, char **argv) { A a; // A constructor printf("-------------------\n"); A b = a; // A copy constructor printf("-------------------\n"); A c; // A constructor c = a; // A operator= printf("-------------------\n"); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。