visual C++类和对象专题讲解.doc

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

类和对象 要求掌握: C++怎样构造类和使用类 构造函数和析构函数 对象的指针 本章主要内容 ?类的定义 ?成员函数的定义 ?对象的定义 ?构造函数与析构函数 ?C++的封装性 ?实例分析 § 3.1 类和对象的基本概念 3.1.1 C++类的构成 类是一种将数据和操作合并为单一结构的类型定义。 用方程式表示: 类 = 数据 + 操作(函数) C++类的构成包括类的声明、类的定义两个部分。 类的声明 类的声明包括:类的成员声明和类成员的访问控制声明。 形式: class 类名 { private: 私有数据和函数 只能由public中的函数使用 protected: 保护数据和函数 保护成员被该类和它的派生类访问 public: 公共数据和函数 可供用户使用 }; 如: class CTime { private: int hour; int minute; int second; public: void SetTime(int h, int m,int s); int GetHour() {return hour;} int GetMinute() {return minute;} int GetSecond() {return second;} }; 类是由数据和函数构成,它们称为类的成员。 公有成员 在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。 class A{ int x; public: int y; void SetXY(int,int); }; void A::SetXY(int a,int b) { x = a; y = b; } void main() { A as ; as.SetXY(5,5); //Ok as.y=5; //Ok } 私有成员 在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。 如果紧跟在类名称的后面声明私有成员,则关键字private可以省略。 class A{ int x; public: int y; void SetXY(int,int); }; void A::SetXY(int a,int b) { x = a; y = b; } void main() { A as ; as.SetXY(5,5); //Ok as.x=5; //Error } Note: 类名后面的{ }表示类的声明范围,最后的分号表示类声明的结束。 建议把所有的私有成员和公有成员归类放在一起,并将私有成员放在公有成员的前面。 数据成员可以是任意数据类型,但不能用auto 、register或 extern进行说明。 例: class abcd { auto a; // 非法 register b; // 非法 extern c; // 非法 int d; public: int get(d); }; 不能在类的声明中给类的数据成员赋初值;在类对象定义之后才能给数据成员赋初值。 例: class abc { char a=’q’; // 非法 int b=33; // 非法 public: int get(b); }; 二、成员函数的定义(类的定义) C++提供两种方式定义成员函数,类中的成员函数的定义既可放在类中,也可放在类的外面。 第一种方式:在类的声明中,只给出成员函数的原型(用现代风格说明);而成员函数的定义放在类体的外部,称为外联函数。 成员函数的定义放在外面,需在函数名前面加上类名和作用域区分符“::”。成员函数体在类的外部定义。 其形式为: 返回类型 类名 :: 函数名(参数表){ // 函数体 } class CTime { private: int hour; int minute; int second; public: void SetTime(int h, int m,int s); int GetHour() {return hour;} int GetMinute() {return

文档评论(0)

zhangningclb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档