如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
本章内容学习高级语言的体会如何快速入手、掌握一门高级编程语言学习语言有捷径吗?一、序课程学习目的?二、面向对象编程语言概述面向对象的现实渊源1对象概述2面向对象与面向过程面向对象的设计思想面向对象的设计思想面向对象的设计思想面向对象的设计思想3结构化程序设计4事件驱动5.软件复用三、学习忠告三、学习忠告三、学习忠告三、学习忠告三、学习忠告三、学习忠告三、学习忠告第三章函数第一节函数的定义与使用第一节函数的定义与使用第一节函数的定义与使用第一节函数的定义与使用第一节函数的定义与使用第一节函数的定义与使用函数使用举例2、嵌套调用:被调函数在执行的过程中又调用其它函数3、递归调用:函数直接或间接的调用自身如求n!、汉诺塔关于引用:关于引用:第二节内联函数第三节带默认值参数的函数例:intadd(inta=0,intb=2,intc=3,intd=4,inte=5){return(a+b+c+d+e);};voidmain(){cout<<add(1)<<endl;cout<<add(1,9)<<endl;cout<<add(1,9,8)<<endl;cout<<add(1,9,3,7)<<endl;cout<<add()<<endl;//不可以这样调用add(,1);}第四节函数重载注意事项:5.避免这样的重载:第五节函数模板函数模板定义template(typename自定义表示符)函数定义程序实例:#include"iostream.h"template<classtypeT>//或者template<typenametypeT>typeTabs(typeTX){return(X>0?X:-X);}voidmain(){intx=-9;cout<<abs(x)<<endl;}第五节C++系统函数第四章类与对象一、类与对象类是一种用户自定义类型,声明形式:class类名{public:公有成员(外部接口)private:私有成员protected:保护型成员}时钟类的成员(数据成员与函数成员声明)voidClock::SetTime(intNewH,intNewM,intNewS){Hour=NewH;Minute=NewM;Second=NewS;}voidClock::ShowTime(){cout<<Hour<<":"<<Minute<<":"<<Second;}说明:说明:classcircle{public:circle::circle(intr){radius=r;}intarea(){return(int)3.14*radius*radius;}voidcircle_prt(){cout<<"theprivateradiusis:"<<radius<<endl;}private:intradius;};说明:3.对象的定义4.类、对象中成员的访问方式二、构造函数与析构函数构造函数举例构造函数与类同名不能指定返回值类型可以是重载函数可以是内联函数如无自定义构造函数,C++系统自动产生空的的构造函数如构造函数带有参数,则在定义对象时必须带上相同类型的实参通过定义类的实例-对象,只分配数据成员空间,共享类的代码空间析构函数名:~类名完成对象被删除前的一些清理工作。在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间。如果程序中未声明析构函数,编译器将自动产生一个缺省的析构函数。析构函数不带任何参数析构函数举例注意课堂练习(5分钟):3.内联成员函数classPoint{public:voidInit(intinitX,intinitY){X=initX;Y=initY;}intGetX(){returnX;}intGetY(){returnY;}private:intX,Y;};当构造函数的参数为自身类对象的引用时,这个构造函数称为拷贝构造函数.拷贝构造函数的功能是用一个已有对象初始化一个正在建立的同类对象.拷贝构造函数在以下三种情况下会被调用:⑴当用类的一个对象去初始化该类的另一个对象时;⑵如果函数的形参是类对象,调用函数进行形参和实参结合时;⑶如果函数的返回值是类对象,函数调用完成返回时。定义:Pointa=a1;//拷贝构造函数等价于Pointa(a1);//可以改成这种形式当用类的一个对象去初始化该类的另一个对象时系统自动调用它实现拷贝赋值。voidmain(void){PointA(1,2);PointB(A);//拷贝构造函数被调用cout<<B.GetX()<<endl;}若函数的形参为类对象,调用函