如果定义了 | 编译器生成 | 可创建对象 |
没有定义构造函数 | 一个没有参数的构造函数和一个复制构造函数 | 使用没有参数的构造函数: Object obj ; 作为另一个对象的副本:Object obj(o) |
只定义了没有参数的构造函数 | 复制构造函数 | 使用没有参数的构造函数: Object obj ; 作为另一个对象的副本:Object obj(o) |
只定义了复制构造函数 | 不会生成构造函数 | 理论上可以复制其它对象,实际上无法创建任何对象 |
只定义了一个带参数的构造函数(不是复制构造函数) | 复制构造函数 | 使用有参数的构造函数: Object obj(6) ; 作为另一个对象的副本:Object obj(o) |
转载于:https://my.oschina.net/tanluo/blog/617410