C++ 复制构造和赋值操作符调用

来源:互联网 发布:宁波做网络推广哪家好 编辑:程序博客网 时间:2024/06/08 08:52

主要是为了记录说明 :

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;}


0 0
原创粉丝点击