难道可以不定义复制构造函数吗?该怎么处理

难道可以不定义复制构造函数吗?
#include   <stdio.h>
class   A
{
private:
int   num;
public:
A   (int   b)
{
        num=b;
}
void   shuchu(void)
{
printf( "%d ",num);
}
};
void   main()
{
        A   A2(7);
        A   A1=A2;

A1.shuchu();
}
我想问一下,这样可以直接用一个对象来初始化另一个对象。我觉得可以不用定义复制构造函数了,这样对吗?

------解决方案--------------------
你没定义的话, 编译器会自动帮你生成一个缺省的复制函数
------解决方案--------------------
对于你这个简单的类来说,的确可以这样,但是在某些情况下(类比较复杂),你这种方式是不良的,甚至有可能给程序带来危险

楼主不妨去看看 C++里谈到的 浅拷贝与深度拷贝 这方面的介绍里一定会说明你的这种代码什么时候是有问题的。