第4章 C++类与对象.ppt

对象参数的传递方式 通过运行栈来传递 主调函数调用拷贝构造函数,在运行栈的传参区域上创建对象 被调函数可以读取传参区域上的对象 有时对拷贝构造函数的调用可以省去 例: z.add(Complex(3, 4)) 直接调用构造函数Complex(float, float),在运行栈的传参区域上建立对象 * 传递方式 在主调函数中创建临时对象 主调函数把该对象地址(引用)传递给被调函数 被调函数返回时,在该地址上执行拷贝构造 * Point fun2() { Point a(1, 2); return a; } void fun2(_Point result) { _Point a; Point_Point(a, 1, 2); Point_Point(result, a); } b = fun2(); _Point temp; fun2(temp); b = temp; 有时返回时可以不调用拷贝构造函数 例:return Point(1, 2); 直接调用构造函数Point(int, int),生成返回的对象 有时主调函数中可以不建立临时对象 例:Point p = fun2(); 先为p申请空间,调用fun2()前传递p的地址,这样在返回时可直接在p的空间上构造返回对象 * 主要内容 面向对象的基本概念、类和对象的声明、构造函数、析构函数、内联成员函数、复制构造函数

文档评论(0)

1亿VIP精品文档

相关文档