C++第02章OOP基本概念(2013年9月).ppt

* Length Sp Length Sp Length Sp 堆 堆 堆 S1 S1 S2 复制前 复制后 深复制示意图 * 这里的资源指堆内存。 堆内存并不是唯一需要复制构造函数的资源,但它是最常用的一个。 如果类需要析构函数来析构资源时,则类也需要显式定义一个复制构造函数来进行深复制。 * 注意 在C++中,赋值与初始化是有区别的。 赋值是给现有的对象一个新的值。一个对象可以被赋值多次,但初始化对象只能一次,在创建对象时完成。 * 复制构造函数是成员函数,函数体可写在类中,也可以写在类外。 复制构造函数名与类名相同,并且也不指定函数值类型。 复制构造函数只有一个参数,并且是对同类对象的引用。 每个类都必须有一个复制构造函数。如果类中没有显式定义复制构造函数,则编译系统自动生成一个默认形式的复制构造函数,作为该类的公有成员。 复制构造函数的特点 * 对象间的数据共享问题 静态成员是C++提供的解决同一个类的不同对象之间数据和函数共享问题的机制。 类的静态成员分为静态数据成员和静态成员函数。 * 类的非静态数据成员 一个类的所有对象具有相同的属性是指属性的个数、名称、数据类型相同,各个对象的属性值则可以各不相同。 这样的属性在面向对象方法中称为“实例属性”,在C++程序中以类的非静态数据成员表示。 * 类的静态数据成员 面向对象方法中还有“类属性”的概念。如果某个属性为整

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档