- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++面向对象程序设计
C++:面向对象的C(带类的C)
类:一个虚拟的对象,包含其数据成员和函数。
类的意义:封装性和隐藏性(外界不需要知道类的内部数据和函数实现细则,只需要知道类可以完成的功能和实现该功能的函数接口)
如何实现封装性:在声明类的时候把数据和函数分类
public: 公用,一般用于外界可以调用的函数,实现类与外界的接口
private: 私有,一般用于内部数据成员和工具函数,实现隐藏性,不可被外界调用。
类和对象的关系:
类(模板)→对象(实例)
类只是一种虚拟的模板,不占用内存空间
实例是一个实际定义的对象,占用内存空间
C++对C的补充
C++输入输出
标准输入输出流cout和cin
Cout 屏幕 cout 数据流入屏幕
Cin 键盘 cin 数据从键盘流入
两者均不需要指定数据类型(自动识别)
const定义常变量
意义:解决宏定义容易出错的问题
例子:#define PI 3.1415
Int a=1;b=2;
#define R a+b
CoutPI*R*Rendl;
Const float PI=3.1415;
常变量具有变量属性,占用存储单元,在程序运行期间变量值固定,不能改变,避免了宏定义的缺陷。
函数原型声明
C语言中建议使用函数原型声明,但并非强制(整型函数可不声明)
C++中如果函数调用位置在函数定义之前,则在调用之前必须进行函数原型声明,以保证程序正确性。
函数重载
实质:一物多用,同名函数实现不同的功能(通过参数类型和参数个数判定到底实现哪一种功能)
例子:上课打铃
Int max(int a, int b, int c);
Float max(float a, float b, float c);
Long max(long a, long b, long c);
重载函数的参数个数或类型至少有其中之一不同,以便于区分具体是哪一个函数。
函数模板
意义:进一步简化重载函数,对于只有函数类型和参数类型不同的函数用一个通用模板来代替,模板中采用虚拟类型。
例:
#includeiostream
Using namespace std;
Templatetypename T; //定义通用函数,以T为类型名
T max(T a, T b, T c)
{
If(ba) a=b;
If(ca) a=c;
Return a;
}
适用范围:函数参数个数相同而类型不同,且函数体相同。
有默认参数的函数
Float area(float r=6.5);
Area(); //不给定参数自动指定默认参数;
Area(7.5) //给定实参覆盖默认参数
默认参数必须放在形参表列最右端,否则出错
Void f1(float a,int b=0,int c);
注意点:
如果函数定义在调用之前,则在函数定义中给出默认值,如果定义在调用之后,则在调用前需要函数原型声明,在声明中给出默认值
原因:编译自上而下,必须在函数调用之前将默认值信息告知编译系统。若重复定义编译系统报错或忽略后者,以先遇到的为准。
一个函数不能既作为重载函数,又作为有默认参数的函数。否
则将导致系统无法判定,出现二义性,无法执行。
例子:
重载函数
Int max(int a,int b);
Int max(int a,int b,int c);
默认参数函数
Int max(int a,int b,int c=100);
调用max(5,23)
无法判定执行第一个还是第三个函数,编译出错
变量引用
函数参数传递:
变量名作实参(局部变量,只在函数体内有效)
传递变量指针(可以对内存空间进行操作,但较为复杂,容易出错)
传送变量的别名
引用即变量的别名
Int a;
Int b=a; //声明b是a的引用
b和a代表同一变量,具有相同的地址和内存单元。
一旦声明一个变量的引用后两者即发生联系,不能再作为其他变量的引用
int b=a1;
int b=a2;
其间a和b同步变化,一个值改变了另一个值也随之改变。
可以给一个变量设定两个别名
int a=3;
int b=a;
int c=b;
引用的意义:作为函数参数,比指针简单方便
#includeiostream
using namespace std;
void swap(int a,int b)
{
int temp;
temp=a;
a=b;
b=temp;
}
int main()
{
int i=3,j=5;
swap(i,j);
cout”i=”i” “”j=” jendl;
return 0;
}
本质:
文档评论(0)