欢迎来到天天文库
浏览记录
ID:59476372
大小:81.00 KB
页数:44页
时间:2020-09-14
《c++函数—长成员ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.3常成员const修饰符常数据成员常函数成员1.const修饰符类的对象也可以在定义时由const修饰,我们称为常对象。常对象的语法格式为:constclass_Typeobject_name;或class_Typeconstobject_name;常引用的语法格式为:constdata_type&reference_name;常对象引用作为函数成员的形参classC{public:voidsetName(conststring&n){name=n;}//..stringname;};一般形参作为某种类的对象并
2、不希望被改变值时常常使用常对象引用作为参数.#includeusingnamespacestd;voiddisplay(constint&d);intmain(){intd(2008);display(d);return0;}voiddisplay(constint&d){d=d+5;//错误!常引用不能被改变值。cout<3、样,它只能在构造函数的初始化列表位置进行初始化。classC{public:C(){x=-1;c=0;}private:intx;constintc;};classC{public:C():c(0){x=-1;}private:intx;constintc;};×类的任何数据成员都可以在构造函数的初始化部分初始化,而常数据成员只能在此处被初始化。classC{public:C():c(0),x(-1){}private:intx;constintc;};类的数据成员的初始化的顺序是与数据成员声明的顺序一致的;与构造4、函数的初始化部分的先后顺序无关。#includeusingnamespacestd;classPoint{public:Point(doublenew_x,doublenew_y);Point(constPoint&p);voiddisp();private:doublex;constdoubley;//常数据成员y};Point::Point(doublenew_x,doublenew_y):y(new_y)//初始化列表初始化常数据成员y{x=new_x;}Point::Point(cons5、tPoint&p):y(p.y)//初始化列表初始化常数据成员y{x=p.x;}voidPoint::disp(){cout<<"该点的坐标为:("<6、与对重载函数的区分。在这里const是函数的一个组成部分,和friend、inline关键字不同,在函数定义时也需要加上const关键字。classC{public:voidset(intn){num=n;}intget()const{returnnum;}private:intnum;};Get函数成员只能对类的数据成员进行只读操作,不能进行修改。classC{public:voidm1(intx)const{m2(x);}//Error!voidm2(intx){dm=x;}private:intdm;};cl7、assC{public:voidset(conststring&n){name=n;}conststring&get()const{returnname;}private:stringname;};#includeusingnamespacestd;charstr[20]="GoodMorning!";char&rep(intk){returnstr[k];}intmain(){rep(4)='_';cout<<"Thestringis:"<8、eusingnamespacestd;classPoint{public:Point(doublenew_x,doublenew_y);Point(constPoint&p);voiddisp();voiddisp()const;private:doublex;constdoubley;};Point::Point(doublenew_x
3、样,它只能在构造函数的初始化列表位置进行初始化。classC{public:C(){x=-1;c=0;}private:intx;constintc;};classC{public:C():c(0){x=-1;}private:intx;constintc;};×类的任何数据成员都可以在构造函数的初始化部分初始化,而常数据成员只能在此处被初始化。classC{public:C():c(0),x(-1){}private:intx;constintc;};类的数据成员的初始化的顺序是与数据成员声明的顺序一致的;与构造
4、函数的初始化部分的先后顺序无关。#includeusingnamespacestd;classPoint{public:Point(doublenew_x,doublenew_y);Point(constPoint&p);voiddisp();private:doublex;constdoubley;//常数据成员y};Point::Point(doublenew_x,doublenew_y):y(new_y)//初始化列表初始化常数据成员y{x=new_x;}Point::Point(cons
5、tPoint&p):y(p.y)//初始化列表初始化常数据成员y{x=p.x;}voidPoint::disp(){cout<<"该点的坐标为:("<6、与对重载函数的区分。在这里const是函数的一个组成部分,和friend、inline关键字不同,在函数定义时也需要加上const关键字。classC{public:voidset(intn){num=n;}intget()const{returnnum;}private:intnum;};Get函数成员只能对类的数据成员进行只读操作,不能进行修改。classC{public:voidm1(intx)const{m2(x);}//Error!voidm2(intx){dm=x;}private:intdm;};cl7、assC{public:voidset(conststring&n){name=n;}conststring&get()const{returnname;}private:stringname;};#includeusingnamespacestd;charstr[20]="GoodMorning!";char&rep(intk){returnstr[k];}intmain(){rep(4)='_';cout<<"Thestringis:"<8、eusingnamespacestd;classPoint{public:Point(doublenew_x,doublenew_y);Point(constPoint&p);voiddisp();voiddisp()const;private:doublex;constdoubley;};Point::Point(doublenew_x
6、与对重载函数的区分。在这里const是函数的一个组成部分,和friend、inline关键字不同,在函数定义时也需要加上const关键字。classC{public:voidset(intn){num=n;}intget()const{returnnum;}private:intnum;};Get函数成员只能对类的数据成员进行只读操作,不能进行修改。classC{public:voidm1(intx)const{m2(x);}//Error!voidm2(intx){dm=x;}private:intdm;};cl
7、assC{public:voidset(conststring&n){name=n;}conststring&get()const{returnname;}private:stringname;};#includeusingnamespacestd;charstr[20]="GoodMorning!";char&rep(intk){returnstr[k];}intmain(){rep(4)='_';cout<<"Thestringis:"<8、eusingnamespacestd;classPoint{public:Point(doublenew_x,doublenew_y);Point(constPoint&p);voiddisp();voiddisp()const;private:doublex;constdoubley;};Point::Point(doublenew_x
8、eusingnamespacestd;classPoint{public:Point(doublenew_x,doublenew_y);Point(constPoint&p);voiddisp();voiddisp()const;private:doublex;constdoubley;};Point::Point(doublenew_x
此文档下载收益归作者所有