1 / 61
文档名称:

02 类和对象的更多内容.ppt

格式:ppt   页数:61页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

02 类和对象的更多内容.ppt

上传人:xxj16588 2016/7/18 文件大小:0 KB

下载得到文件列表

02 类和对象的更多内容.ppt

文档介绍

文档介绍:第2章类和对象的更多内容课件制作 2主要内容a实例成员和静态成员a析构函数a拷贝构造函数a调用构造函数和析构函数的顺序a对象与函数a无名对象a友元函数和友元类a实例研究a小结和作业课件制作 实例成员和静态成员a实例变量 u与类的特定对象联系在一起; u同一个类的不同对象,实例变量数据域是不同的,而且也不共享课件制作 实例成员和静态成员a静态数据成员 u在不使用全局对象的情况下,如果希望一个类的所有对象共享某些数据成员, 可以通过声明该数据成员为静态存储类型来实现 u静态数据成员是一种特殊的数据成员,它以关键字 static 开头 u静态数据成员的值在各对象中是一样的,它为各对象所共有,而不只属于某个对象的成员 class Circle { public: Circle(); Circle(double r); double getArea(); int getNumberOfObjects(); private: double radius; static int numberOfObjects; };课件制作 实例成员和静态成员//file: class Circle { public: Circle(); Circle(double); double getArea(); double getRadius(); void setRadius(double); int getNumberOfObjects(); private: double radius; static int numberOfObjects; }; //file: #include "" const double PI=; int Circle::numberOfObjects = 0; // Construct a circle object Circle::Circle() { radius = 1; numberOfObjects++; } // Construct a circle object Circle::Circle(double radius) { this->radius = radius; numberOfObjects++; } // Return the area of this circle double Circle::getArea() { return radius * radius * PI; } // Return the radius of this circle double Circle::getRadius() { return radius; } // Set a new radius void Circle::setRadius(double radius) { this->radius = (radius >= 0) ? radius : 0; } // Return the number of circle objects int Circle::getNumberOfObjects() { return numberOfObjects; } 静态成员初始化静态成员访问课件制作 实例成员和静态成员//file: #include <iostream> using namespace std; #include "" int main() { Circle circle1; cout << "The area of the circle of radius " << () << " is " << () << endl; cout << "Number of circle objects created: " << () << endl; Circle circle2(); cout << "The area of the circle of radius " << () << " is " << () << endl; cout << "Number of circle objects created: " << () << endl; (3