如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第9章类和对象9.1面向对象的程序设计OOP的基本原理当生产汽车时,分别设计和制造发动机、底盘、车身和轮子,最后把它们组装在一起。在组装时,各部分之间有一定的联系,以便协调工作----面向对象的程序设计的基本思路对象消息方法C++中的对象类抽象继承与重用OOP技术的特征--封装OOP技术的特征--多态性面向对象程序设计过程基于对象的程序9.2类的声明和对象的定义声明类类型classStudent{private:intnum;charname[20];charsex;public:voiddisplay(){cout<<″num:″<<num<<endl;cout<<″name:″<<name<<endl;cout<<″sex:″<<sex<<endl;}};Studentstud1,stud2;注意事项定义对象方式二-------在声明类类型的同时定义对象方式三-------不出现类名,直接定义对象类的成员函数的定义在类外定义成员函数inline成员函数classStudent{public:voiddisplay(){cout<<″num:″<<num<<endl;cout<<″name:″<<name<<endl;cout<<″sex:″<<sex<<endl;}private:intnum;stringname;charsex;};成员函数的存储方式对象成员的引用通过对象名和成员运算符访问对象中的成员通过指向对象的指针访问对象中的成员通过对象的引用变量来访问对象中的成员9.3构造函数如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初始化#include<iostream>usingnamespacestd;classTime{public:voidset_time();voidshow_time();private:inthour;intminute;intsec;};构造函数的作用举例说明#include<iostream>usingnamespacestd;classTime{public:Time();voidshow_time();private:inthour;intminute;intsec;};在建立对象时自动调用构造函数带参数的构造函数举例说明构造函数的重载举例说明构造函数的重载说明9.4析构函数析构函数执行的时间析构函数说明析构函数举例调用构造函数和析构函数的顺序9.5对象的初始化和赋值对象的赋值9.6成员函数的调用#include<iostream>usingnamespacestd;classX{inta,b;public:X(intm,intn){a=m;b=n;}};intmain(){Xx(1,2);cout<<x.a+x.b<<"\n";return0;}9.7结构体struct[结构体名]{类型标识符成员名;类型标识符成员名;…………….};structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};结构体类型--说明先定义结构体类型,再定义结构体变量一般形式struct结构体名{类型标识符成员名;类型标识符成员名;…………….}变量名表列;struct{类型标识符成员名;类型标识符成员名;…………….}变量名表列;结构体变量定义--说明形式一struct结构体名{类型标识符成员名;类型标识符成员名;…………….}结构体变量={初始数据};struct{类型标识符成员名;类型标识符成员名;…………….}结构体变量={初始数据};结构体变量不能整体引用,只能引用变量成员不能将一个结构体变量作为一个整体进行输入和输出,如:cout<<student1;#include<iostream>usingnamespacestd;structDate{intmonth;intday;intyear;};structStudent{intnum;charname[20];charsex;Datebirthday;floatscore;}student1,student2={10002,″WangLi″,′f′,5,23,1982,89.5};intmain(){student1=student2;类和结构体类型的异同本次授课结束谢谢