C++程序设计第8章 面向对象基础教学课件.ppt
《C++程序设计第8章 面向对象基础教学课件.ppt》由会员分享,可在线阅读,更多相关《C++程序设计第8章 面向对象基础教学课件.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计第8章 面向对象基础教学课件第八章 C+的面向对象基础面向对象程序设计面向对象程序设计http:/ 3本章内容掌握类的概念、类的定义格式、类与结构的关系和类的封装性。掌握类、对象的定义。理解类的成员的访问控制的含义。掌握构造函数和析构函数的含义与作用、定义方式和实现。掌握继承和派生的概念和使用。http:/ 411.1 概述11.2 类和对象11.3 从结构体到类11.4 构造函数和析构函数11.5 继承与派生本 章 目 录http:/ 511.1 概述对象:表示现实世界中某个具体的事物。客观世界中任何一个事物都可以看成一个对象。或者说,客观世界是由千千万万个对象组成的。面向对象:
2、软件程序设计的一种新思想。面向对象思想的由来:希望解决软件危机(软件复杂性控制、软件生产率的提高)。http:/ 611.2 类和对象类与对象的区别:类:是对象的抽象,是对一组具有相同属性和方法的对象的抽象描述。对象:是类的一个具体的实例。说明:一个类可以有多个实例(对象)。对象可以被创建和销毁,但类是无所不在的。http:/ 7类与结构体的区别类与结构体的区别:除关键字不同外除关键字不同外(class,struct)(class,struct)的唯的唯一区别是结构体的成员在默认情况下是一区别是结构体的成员在默认情况下是公有公有(public)(public)的的,而类的成员在默认情况下是而类
3、的成员在默认情况下是私有私有(private)(private)的。的。例:例:#include iostream.h#include iostream.h struct A int x,y;struct A int x,y;void show()void show()coutx=x y=yendl;coutx=x y=yendl;void main()void main()struct A a;struct A a;a.x=3;a.y=9;a.x=3;a.y=9;a.show();a.show();11.3 从结构体到类http:/ 8类的定义形式:类由成员构成,成员可以是数据成员、或成员函
4、数。成员可以是“私有”(private)的、“公有”(public)的、或“保护”(protected)的。类的定义:class 类名标识符 private:protected:public:;http:/ 9类的成员包括两大类,一类是“私有的”(private),即外界不能调用;另一类是“共有的”(public),即公开的,外界可以调用(“保护的”(protected)暂不介绍)。例:class Circle private:double center_x,center_y,radius;public:void make_circle(double x,double y,double r)c
5、enter_x=x;center_y=y;radius=r;void main()class Circle c1;/*c1.center_x=3;c1.center_y=4;c1.radius=5;错误*/c1.make_circle(3,4,5);/*正确语句*/http:/ 10类的定义和使用实例1:#include class Tdateprivate:int month,day,year;public:void Set(int m,int d,int y)/置日期值 month=m;day=d;year=y;int IsLeapYear()/判断是否是闰年 return(year%4=
6、0&year%100!=0)|(year%400=0);void Print()/输出日期值 cout month/day/year make_circle(11.,55.,77.);说明:对于开发大型的软件,通常把类的定义和其成员函数的定义分开进行,如第一种方式。http:/ 1611.4 构造函数和析构函数在建立一个对象时,常常需要作某些初始化的工作(例如对数据赋予初值),C+提供了一个特殊的成员函数构造函数(constructor)。这种函数与其他成员不同,不需要用户发“消息”来激活它,而是在建立对象时由系统自动调用来执行。构造函数是由用户定义的,它必须与类名同名,以便系统能识别并把它作
7、为构造函数。构造函数构造函数http:/ 17#include#include class studprivate:int num;char name10;char sex;public:stud()num=10010;strcpy(name,Wang_li);sex=F;void display()coutnum:numendl;coutname:nameendl;coutsex:sexendl;void main()stud stud1;stud1.display();http:/ 18不带参数的构造函数:对数据成员的初始化,取决于构造函数体中对哪些数据成员进行赋初值,且用此构造函数构造的
8、所有对象的初始值都相同。带参数的构造函数:可以使得各对象的数据成员的初始值不同,通过创建对象时将实参传递给构造函数的形参,达到初始化目的。http:/ 19#include#include class studprivate:int num;char name10;char sex;public:stud(int n,char nam,char s)num=n;strcpy(name,nam);sex=s;void display()coutnum:numendl;coutname:nameendl;coutsex:sexendl;void main()stud stud1(10010,Wan
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计第8章 面向对象基础教学课件 C+ 程序设计 面向 对象 基础 教学 课件
限制150内