第三章类和对象祥解.ppt

  1. 1、本文档共138页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章类和对象祥解.ppt

C++还允许用其它类的对象作为类的数据成员,这称为类的组合。 3.9类的组合 (1)什么是类的组合? 在创建对象时,需要对本类的内嵌对象成员先进行初始化,即采用参数初始化表来初始化数据成员,此时,可保证数据成员(即对象)的构造函数首先被调用。 格式如下: (2) 组合类的初始化 构造函数的定义形式: 构造函数名(形参表):对象成员1(参数1),…, 对象成员n(参数n) { } //这一对大括号不能省略 说明: (A)对基本类型数据成员也可采用这一方法; (B)当一个类中有多个对象成员时,这些成员的构造顺序是以它们在类中的声明顺序为准,与初始化表中的顺序无关。 程序实例:类的组合-对象成员的初始化.cpp class Date { public: Date(int y, int m, int d) : year(y), month(m), day(d) { } … }; class Student //组合类 { private: int ID; Date birthday; //Date类对象作成员 public: Student(int id,int by, int bm, int bd):birthday(by,bm,bd) { ID=id; cout<<"Student类构造函数被调用!"<<endl; } //构造函数 程序实例:类的组合-对象成员的应用(定义学生类).cpp 3.10 常类型 表示方法:使用const修饰符说明的类型 作用:既保证数据共享,又防止数据被改动 常引用 常对象 常对象成员 常数据成员 常成员函数 1.常引用 说明引用时,使用const修饰。 常引用的说明形式如下: const <类型说明符> & <引用名>; 具体应用:常引用作形参,在函数中不能更新它所引用的对象,因此对应的实参不会被破坏。 例如: int a=5; const int &n = a; 其中,n是一个常引用,它所引用的对象不会被更新。如果出现: n=123; 则是非法的。 #include <iostream> using namespace std; int add(const int &i,const int &j); int main() { int a=20; int b=30; cout<<a<<"+"<<b<<"="<<add(a,b)<<endl; a=15; b=50; cout<<a<<"+"<<b<<"="<<add(a,b)<<endl; return 0; } int add(const int &i,const int &j) { //i=i+20; return i+j; } 使用常引用作形参,能够避免对实参的修改,保证了数据的安全。 2. 常对象 说明对象时用const修饰,则被说明的对象为常对象; 常对象是指对象常量,定义格式如下: <类名> const <对象名>; 或者 const <类名> <对象名>; 注意: 1)在定义常对象时必须进行初始化,而且不能被更新。 2)只有常成员函数才能操作常对象,没有使用const关键词说明的成员函数不能用来操作常对象。 #include <iostream> using namespace std; class Sample{ private: int n; public: int m; Sample(int i,int j) { m=i; n=j; } void display() { cout<<"m="<<m<<endl; cout<<"n="<<n<<endl; } void setvalue(int j) { n=j; } }; int main() { Sample const a(10,20); a.setvalue(30);//编译错误 a.m=30; );//编译错误 a.display(); );//编译错误 return 0; } 1.C++不允许直接或间接地更改常对象数据成员。 2.C++不允许常对象调用普通的成员函数。 3. 常成员函数 使用const关键词说明的函数为常成员函数。 常成员函数说明格式如下: 类型说明符 函数名(参数表) const; 例: 常成员函数举例 #include<iostream> using namespace std; class R { public: R(int r1, int r2) { R1=r1;

文档评论(0)

光光文挡 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档