在c ++中挣扎着大量的代码库

时间:2017-04-06 05:19:00

标签: c++

我知道像复制构造函数和其他c ++这样的基本概念,例如下面的例子

#include<iostream>
#include<stdio.h>

using namespace std;

class Test
{
public:
   Test() {}
   Test(const Test &t)
   {
      cout<<"Copy constructor called "<<endl;
   }
   Test& operator = (const Test &t)
   {
      cout<<"Assignment operator called "<<endl;
   }
};

int main()
{
  Test t1, t2;
  t2 = t1;
  Test t3 = t1;
  getchar();
  r

eturn 0;
}

现在,当我试图了解我办公室项目的代码流程时,我正在努力解决这个问题。我无法弄清楚流程是如何进行的。有时候我会得到一些概述,但是当我深入研究代码时,我没有将c ++概念与实际代码连接起来。

1 个答案:

答案 0 :(得分:-1)

代码流程如下:

  • Test t1, t2 t1,t2将被构造,但是没有提供参数,所以默认构造函数被调用,没有输出。
  • t2 = t1 operator =被调用,输出Assignment operator called
  • t3 = t1将构建t3,并提供t1作为参数,因此调用复制构造函数,输出Copy constructor called

此外,将stdio.h更改为cstdio,C ++使用cstdio代替stdio.h