我知道像复制构造函数和其他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 ++概念与实际代码连接起来。
答案 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