1、本章主要知识点(1) C+面向对象的程序实例(2) 类与对象(3) 继承与派生(4) 运算符重载 本章导读C语言是一种结构化程序设计语言,它是面向过程的,在处理较小规模的程序时一般比较容易实现,而当程序规模较大时, C语言就显示出了它的不足。在这种情况下 C+应运而生, C+语言是从 C语言演变而来的,它保留了 C语言的所有优点,同时也增加了面向对象的功能。现在 C+已成为程序设计中应用最广泛的一种语言。C语言程序设计语言程序设计(Visual C+ 6.0环境)环境)返回本书目录返回本书目录第 10章 C+面向对象程序设计第 10章 C+面向对象程序设计C语言程序设计语言程序设计(Visua
2、l C+ 6.0环境)环境)返回本章导读返回本章导读10.2 类与对象10.3 继承与派生10.5 综合实训10.4 运算符重载10.1 C+面向对象的程序实例C语言程序设计语言程序设计(Visual C+ 6.0环境)环境)返回本章目录返回本章目录10.1.2 C+语言概述10.1.1 C+面向对象的程序实例10.1 C+面向对象的程序实例10.1.1 C+面向对象的程序实例C语言程序设计语言程序设计(Visual C+ 6.0环境)环境)返回本节目录返回本节目录2. C+程序实例(2)3. C+程序实例 (3)1. C+程序实例 (1)【例 10.1】 定义一个矩形类。( 程序名为 l10
3、_1.cpp。)#includeclass rectangle /定义一个矩形类 public:rectangle(float len,float wid) /构造函数 length=len;width=wid;float GetArea(); /声明成员函数 ,计算矩形面积float GetPerimeter(); /声明成员函数 ,计算矩形周长rectangle() /析构函数private:float length; /私有数据float width;10.1.1 C+面向对象的程序实例C语言程序设计语言程序设计(Visual C+ 6.0环境)环境)返回本节目录返回本节目录1.C+程序
4、实例 1float rectangle:GetArea() /成员函数的具体实现 return length*width;float rectangle:GetPerimeter() /成员函数的具体实现 return 2*(length+width);void main() float l,w;coutlw;rectangle x(l,w); /定义一个矩形类对象cout, 则输出结果为 :3022【例 10.2】类的派生。(程序名为 l10_2.cpp。)#includeclass rectangle /定义矩形类 public:void InitRect(float len,float
5、wid) /定义类的成员函数 length=len;width=wid;float GetArea(); float GetPerimeter(); private: /定义私有成员变量float length; float width;float rectangle:GetArea() /成员函数实现 return length*width;10.1.1 C+面向对象的程序实例C语言程序设计语言程序设计(Visual C+ 6.0环境)环境)返回本节目录返回本节目录2.C+程序实例 2float rectangle:GetPerimeter() /成员函数实现 return 2*(lengt
6、h+width);class square:public rectangle /从矩形类中派生新类 (正方形类 )public:void InitSquare(float b)InitRect(b,b); /新增的成员函数 (初始化; /正方形 ) void main() square x; /声明正方形类对象x.InitSquare(8); /调用正方形类新增的成员函数coutx.GetArea()endl; /调用从矩形类中继承下来的成员函数coutx.GetPerimeter()endl; /调用从矩形类中继承下来的成员 /函数 (GetPerimeter)10.1.1 C+面向对象的程序实例C语言程序设计语言程序设计(Visual C+ 6.0环境)环境)返回本节目录返回本节目录10.1.1 C+面向对象的程序实例C语言程序设计语言程序设计(Visual C+ 6.0环境)环境)返回本节目录返回本节目录实例 2的功能是先定义一个矩形类,然后从该矩形类中派生出一个新的正方形类(正方形是矩形的一个特例)。程序中先声明一个正方形类对象,然后将其初始化为边长为 8的正方形,再调用从矩形类中继承下来的计算面积和周长两个函数,计算出正方形的面积和周长。该程序的输出结果为:6432