8类的其他几点问题.docVIP

  • 0
  • 0
  • 约4.9千字
  • 约 8页
  • 2017-08-08 发布于云南
  • 举报
一、拷贝构造函数 拷贝构造函数在下列情况下被调用:用已经存在的对象去初始化同一个类的另一个对象;在函数的参数中,以传值方式传递类对象的拷贝;类对象的值被用做函数的返回值。拷贝构造函数和前面说到的转换构造函数有些相似。转换构造函数是把一个类的对象转化为另一个类的对象;拷贝构造函数是用一个已经存在的对象的值实例化该类的一个新对象。 不同对象间的初始化和赋值的区别:赋值操作是在两个已经存在的对象间进行的;而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。编译器会区别这两种情况,赋值的时候调用重载的赋值运算符,初始化的时候调用拷贝构造函数。 如果类中没有拷贝构造函数,则编译器会提供一个默认的。这个默认的拷贝构造函数只是简单地复制类中的每个成员。 #include iostream.h #include string.h class Date { int mo, da, yr; char* month; public: Date(int m = 0, int d = 0, int y = 0); Date(const Date); ~Date(); void display() const; }; Date::Date(int m, int d, int y) { static char* mos[] = { January, February, March, Apri

文档评论(0)

1亿VIP精品文档

相关文档