第7章 类和对象_03.ppt

第7章 类和对象_03.ppt

* 学生类(计算平均学分绩)、商品类(卖商品函数,以数量为参数)、足球队类(计算积分) * 用程序再进行验证 * 查一下静态数据成员的访问权限 * * * * 拷贝构造函数 系统会自动生成缺省的拷贝构造函数,实现对象间的拷贝(浅拷贝) 使用下列形式的说明语句 类名 对象名2(对象名1); 类名 对象名2 = 对象名1; 对象作为函数的赋值参数 函数的返回值为类的对象 当程序出现上述三类情况时,自动调用拷贝构造函数 Database Information System Lab * 拷贝构造函数 显式拷贝构造函数(深拷贝) 在某些情况下,必须在类定义中给出显式拷贝构造函数,以实现用户指定的拷贝功能(深拷贝) 假设在某类的普通构造函数中分配并使用了某些系统资源,而且在该类的析构函数中释放了这些资源。如果执行“浅拷贝”,使两个对象使用相同的系统资源,调用析构函数将会两次释放相同的资源而导致错误。 给出显式的拷贝构造函数,可以在实现拷贝的过程中,为“被拷贝”的对象分配新的系统资源,避免了重复释放资源的错误 Database Information System Lab * 拷贝构造函数 【例7.18】默认拷贝构造函数产生的问题 //MyClass.h class MyClass { char *name; public: MyClass(char *); ~MyClass();

文档评论(0)

1亿VIP精品文档

相关文档