2类和对象分解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 类和对象 2.1 类和对象的定义 2.2 构造函数和析构函数 2.3 类与const 对象和类 客观世界中任何一个事物都是对象。类是对一组性质相同的对象的描述。 在面向对象的软件系统中,对象是基本的运行时实体,它既包含数据,也包括作用于这些数据的操作。 对象的组成 面向对象的软件系统 §2.1 类和对象的定义 2.1.1  C++中对结构的扩展 C++中的结构体不仅可以包含不同类型的成员变量,而且还可以包含函数。 结构体中的数据和函数都是结构的成员,分别称为数据成员和函数成员。 在C++中,通常把函数成员称为成员函数。 C的结构体struct与C++的struct的比较 2.1.2  C++中类的定义 在C++语言中,我们通过class关键字来定义类。 类既包含数据内容又包含对数据的操作,所以类是一个抽象数据类型。 与结构体一样,类可被视为一种用户自定义类型。 C ++的结构体struct与C++的class的比较 类的定义 class 类名 { 成员变量和成员函数 }; class student { private: int number; char name[15]; float score; public: void init(int number1,char *name1,float score1); void modify(float score1); void print(); }; 在C++中,类的成员(包括成员变量和成员函数)按照访问控制来分可以分为三类: 私有成员只能被该类中的成员函数访问。 公有成员既可以被该类中的成员函数访问,也可以被该类之外的代码访问。提供了类的外部接口。 受保护成员可以被该类的派生类的成员函数访问,但其它类和函数不可访问。 C++规定,在缺省情况下,类中的成员是私有的。 定义类的一般形式 class 类名 { private: 私有成员变量和成员函数 public: 公有成员变量和成员函数 protected: 受保护成员变量和成员函数 }; 定义类时的注意事项 关键字private、public、protected可以按任意顺序出现,可以出现多次,后面都要有一个冒号“:” ; 数据成员可以是任何数据类型,但不能用auto、register或extern进行说明; 不要给类的成员变量进行初始化赋值。只有在定义类的对象时才能给成员变量赋初值; 全局类和局部类 全局类:在函数之外定义的类。 局部类:在函数体内定义的类。 在实际的C++程序设计中,局部类不常用。 2.1.3  C++类中的成员函数定义 C++类中的成员函数描述了对类内部数据的操作方法,或者说,描述了对象的行为,因此我们又将成员函数称为方法(method)或者服务(service)。 例:Student类成员函数的定义 class Student { private: int number; char name[15]; float score; public: void init(int number1,char *name1,float score1); void modify(float score1) { score=score1; } void print( ); }; 成员函数在类体外定义 void Student::init(int number1,char *name1,float score1) { number = number1; strcpy(name,name1); score = score1; } void Student::print( ) { cout”number: ” number” name:” name” score: ”score’\n’; } 成员函数在类体内外的区别 一般情况下,在类体中仅给出成员函数的原型,而把成员函数的定义放在类体之外实现。 这种将类的成员函数的声明(declaration)和定义(definition)进行分离的方式有很多好处: 成员函数与普通函数的区别 成员函数属于类,成员函数定义是类设计的一部分,其作用域是类作用域,而普通函数一般为全局函数。 成员函数的操作主体是对象,使用时通过捆绑对象来行使其职责, 而普通函数被调用时没有操作主体。 2.1.4  C++中对象的定义和使用 在C++语言中,类是用户定义的一种新类型,所以可以象声明普通变量一样来声明类的对象。类与对象的关系就好象整型int 和整型变量i之间的关系一样。 例如,定义学生类的对象: Student stu1, stu2; 对象成员的访问 访问对象的成员时,使用“.”运算符,例

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档