-堆与拷贝构造函数剖析.pptVIP

  • 2
  • 0
  • 约9.07千字
  • 约 38页
  • 2016-06-25 发布于湖北
  • 举报
5.7 临时对象、无名对象和类型转换 * P324例子 5.7 临时对象、无名对象和类型转换 * 5.7 临时对象、无名对象和类型转换 * * class A{ float x,y; public: A(float a,float b) {x=a;y=b;cout调用构造函数\n;} ~A() { cout调用析构函数\n;} void Print(void) { coutx\tyendl; } }; void main(void) { A a1(1.0, 10.0); a1.Print(); a1=A(3.0 , 30.0); a1.Print(); cout退出主函数\n; } 调用构造函数 产生无名对象,初始化并赋值后立即释放 1 10 调用构造函数 调用析构函数 3 30 退出主函数 调用析构函数 用无名对象为已存在的对象赋值,无名对象赋值后会析构。 5.7 临时对象、无名对象和类型转换 * 5.7 临时对象、无名对象和类型转换 * * 实现类型转换的构造函数 同类型的对象可以相互赋值,相当于类中的数据成员相互赋值; 如果直接将数据赋给对象,所赋入的数据需要强制类型转换,这种转换需要调用构造函数。 * 注意:当构造函数只有一个参数时,可以用= 强制赋值。 class B{ float

文档评论(0)

1亿VIP精品文档

相关文档