《c 程序设计基础》qa-第七章-c 程序设计基础_第1页
《c 程序设计基础》qa-第七章-c 程序设计基础_第2页
《c 程序设计基础》qa-第七章-c 程序设计基础_第3页
《c 程序设计基础》qa-第七章-c 程序设计基础_第4页
《c 程序设计基础》qa-第七章-c 程序设计基础_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++程序设计基础

Q&A第七章北京邮电大学信通院方莉

mrs.fangli@

=运算符重载编辑ppt=运算符重载编辑ppt4const使用const使用常量常指针指针常量常引用常对象常数据成员常成员函数编辑ppt5const使用const使用常量:constfloatPI=3.14;常指针constint*iPtr1;或intconst*iPtr2;指针常量:int*constiPtr3;常引用:constint&A;或intconst&A;常对象:constStudents;常数据成员:constintm;常成员函数:voidprintf()const;编辑pptconst使用const作用

①可以定义const常量,例如:const

int

Max=100;

int

Array[Max];

②便于进行类型检查,例如:void

f(const

int

i)

{

.........}

编译器就会知道i是一个常量,不允许修改;③可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。例如上例,如果在函数体内修改了i,编译器就会报错;例如:

void

f(const

int

i)

{

i=10;//error!

}

编辑pptconst使用const作用④为函数重载提供了一个参考。

class

A

{

......

void

f(int

i)

{......}

//一个函数

void

f(int

i)

const

{......}

//上一个函数的重载

......

};

……编辑pptconst使用①修饰一般常量,常数组,常对象修饰符const可以用在类型说明符前,也可以用在类型说明符后。例如:int

const

x=2;或const

int

x=2;int

const

a[5]={1,

2,

3,

4,

5};

const

int

a[5]={1,

2,

3,

4,

5};class

A;

const

A

a;

A

const

a;

编辑pptconst使用②修饰指针const

int

*A;

int

const

*A;

//const修饰指向的对象,A可变,A指向的对象不可变;int

*const

A;

//const修饰指针A,A不可变,A指向的对象可变;const

int

*const

A;

//指针A和A指向的对象都不可变。编辑pptconst使用③修饰引用const

double

&

v;

该引用所引用的对象不能被更新。④修饰函数的返回值:const修饰符也可以修饰函数的返回值,是返回值不可被改变,格式如下:

const

int

Fun1();

const

MyClass

Fun2();

编辑pptconst使用⑤修饰类的成员函数:const修饰符也可以修饰类的成员函数,格式如下:

class

ClassName

{

public:

int

Fun()

const;

.....

};

这样,在调用函数Fun时就不能修改类里面的数据。编辑pptconst使用⑥修饰类的数据成员:const修饰符也可以修饰类的数据成员,格式如下:classA{private:

constintsize;}const数据成员在某个对象的生存期内是常量,对整个类来说是可变的;const数据成员不能在类声明中初始化,只能在类的构造函数的初始化列表中进行。

编辑ppt13const使用

classA{

private:

const

int

c3

=

7;

//error

static

int

c4

=

7;

//error

static

const

float

c5

=

7;

//error

......

};

编辑ppt14#include<iostream>usingnamespacestd;classA{public:A(inti);voidprint();

constint&r;private:constinta;

staticconstintb; //静态常数据成员};constintA::b=10; //静态常数据成员在类外说明和初始化A::A(inti):a(i),r(a){} //常数据成员只能通过初始化列表来获得初值const使用编辑ppt15const使用const放置的位置①constintb=500;int

constb=500;[1]②constint*a=&b;或intconst*a=&b;[2]③int*consta=&b;[3]④voidfun1()const;[4]编辑ppt16const使用const使用如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。编辑ppt17const使用[1]和[2]的情况相同,都是指针所指向的内容为常量(const放在变量声明符的位置无关),这种情况下不允许对内容进行更改操作,如不能*a=3

;[3]指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;[4]指针本身和指向的内容均为常量。[5]fun1()为类的常成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论