int main() { Student stud1(10010,"Wang li",'f); /建立对象stud1 stud1.display(); /输出学生1的数据 Student stud2(10011,"Zhang fun'",'m');/定义对象stud2 stud2.display(); /输出学生2的数据 return 0; 2017年4月26日12时 H0座5务 第9章关于类和对象的进一步讨 27 论 BACK NEXT
HOME2017年4月26日12时 15分 第9章 关于类和对象的进一步讨 论 27 int main( ) { Student stud1(10010, "Wang_li" , 'f'); //建立对象stud1 stud1.display( ); //输出学生1的数据 Student stud2(10011, "Zhang_fun" , 'm'); //定义对象stud2 stud2.display( ); //输出学生2的数据 return 0; }
9.3调用构造函数和析构函数的顺序 先进后出 象1 对象1 (1)全局对象的构造函数 的 的 在文件中的所有函数(包 构造函数 析构函数 括main函数)执行之前调 用。 (2)局部自动对象,则在 对象2 对象2 建立对象时调用其构造 的 的 构造函数 析构函数 函数。 (3)静态(static)局部对象, 则只在程序第一次调用 此函数建立对象时调用 对象3 对象3 的 的 构造函数。 构造函数 析构函数 2017年4月26日12时 0吧分 第9章关于类和对象的进一步讨 28 论 BACK NEXT
HOME2017年4月26日12时 15分 第9章 关于类和对象的进一步讨 论 28 先进后出 (1) 全局对象的构造函数 在文件中的所有函数(包 括main函数)执行之前调 用。(2) 局部自动对象,则在 建立对象时调用其构造 函数。 (3) 静态(static)局部对象, 则只在程序第一次调用 此函数建立对象时调用 构造函数
Example of class application 圆型游泳池如图所示,现在需在其周围建一圆 型过道,并在其四周围上栅栏。栅栏价格为35元/米, 过道造价为20元/平方米。过道宽度为3米,游泳池半 径由键盘输入。要求编程计算并输出过道和栅栏的造 价。 过道 游泳池 2017年4月26日12时 0座务 第9章关于类和对象的进一步讨 29 论 BACK NEXT
HOME2017年4月26日12时 15分 第9章 关于类和对象的进一步讨 论 29 一圆型游泳池如图所示,现在需在其周围建一圆 型过道,并在其四周围上栅栏。栅栏价格为35元/米, 过道造价为20元/平方米。过道宽度为3米,游泳池半 径由键盘输入。要求编程计算并输出过道和栅栏的造 价。 游泳池 过道
#include <iostream.h> const float PI=3.14159; const float FencePrice 35; const float ConcretePrice 20; /声明类Circle及其数据和方法 class Circle private: float radius; public: Circle((float r);/构造函数 float Circumference(const;./圆周长 float Area0 const;/圆面积 2017年4月26日12时 H0务 第9章关于类和对象的进一步讨 30 论 BACK NEXT
HOME2017年4月26日12时 15分 第9章 关于类和对象的进一步讨 论 30 #include <iostream.h> const float PI = 3.14159; const float FencePrice = 35; const float ConcretePrice = 20; //声明类Circle 及其数据和方法 class Circle { private: float radius; public: Circle(float r); //构造函数 float Circumference()const; //圆周长 float Area()const; //圆面积 };
∥类的实现 ∥构造函数初始化数据成员radius Circle:Circle(float r) fradius=r) ∥计算圆的周长 float Circle:Circumference(const return 2 PI radius; ∥计算圆的面积 float Circle:AreaOconst return PI radius radius; 2017年4月26日12时 H0店务 第9章关于类和对象的进一步讨 31 论 BACK NEXT
HOME2017年4月26日12时 15分 第9章 关于类和对象的进一步讨 论 31 // 类的实现 // 构造函数初始化数据成员radius Circle::Circle(float r) {radius=r} // 计算圆的周长 float Circle::Circumference()const { return 2 * PI * radius; } // 计算圆的面积 float Circle::Area()const { return PI * radius * radius; }