默认构造函数和拷贝构造函数的区别
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
class numbered{
public:
//使用默认构造函数,只是简单的复制数据成员
numbered(){mysn=seq++;}
//使用拷贝构造函数
numbered(numbered &n) {mysn=seq++;}
int mysn;
private:
static int seq;
};
//void f( const numbered &s)
void f(numbered s)
{
cout <<s.mysn<<endl;
}
int numbered::seq=0;
int main(){
numbered a,b=a,c=b;
//使用这种方式创建对象,默认构造函数和拷贝构造函数的区别就可见一斑了
//numbered a;
//numbered b;
//numbered c;
f(a);f(b);f(c);
system("pause");
return 0;
}