- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++简介 设计思想:结构化->面向对象 例:完成10个人由A地到B地,再由B地到A地往返一次的任务 设计思想:结构化->面向对象 两种方案: 1、看作两个阶段A-B和B-A 参数:10个人 2、看作是10个人A-B-A的完成 采用第二种方案:需要解决哪些问题? 设计思想:结构化->面向对象 首先这10个人应当具备如下一些特征: 1、每个人都应当具备由A-B-A的行为能力 2、每个人应当有个编号 这10个人满足这些特征后:完成这个任务很容易! 让这10个人按照编号顺序依次做A-B-A的行为 当然也可以并行的方式让这10个人并行地完成A-B-A的行为 不管怎么样,当所有人A-B-A的行为都完成后,整个任务完成 设计思想:结构化->面向对象 所以,采用串行的方式,基本过程应当是: main() { for (i=1;i=10;i++) {Pi:A-B-A} } 问题:怎样描述和定义这10个人,即Pi 设计思想:结构化->面向对象 显然这10个人的类型是很相似的! 而且我们没有必要对这10个人甚至100个逐一的描述,我们只需要建立一个结构,描述出它们共同具备的特征,然后进一步说明这10个人是属于这个类的,那么这10个人很显然也就具备相应的特征 类 所以,我们需要描述的不是具体的这10个人,而是他们所属这一类的特征! 这就是面向设计中第一个很重要的概念: 类以及为什么要创建类 类 C++中,类是以下形式说明的: Class 类名 { …. }; 类 比如: class person { …. }; 属性、方法 类里面该说明些什么呢? 显然,在我们要描述的类的信息中,主要有:特征和行为两类信息 比如上面例子中的编号就是特征信息,而A-B-A就是行为信息 这两类信息分别对应了面向对象设计中第二个重要的概念: 属性和方法 属性和方法都称做类的成员 属性、方法 所以我们在说明一个类的时候,关键就是要把类的成员说清楚 在上面的例子中,可以这样说明类 class person { public: int memberid; void move(); } ; 对象 如果类已经说明好了,那么如何说明某个人或者这10个人是这一类的呢? 其实很简单,就象我们原来在c语言中声明一个变量是int型的一样,我们在主程序中声明这个人或这10个人为我们定义的这个类型就可以了。 这10个人就可以看作这个类的对象 对象是面向对象程序设计中第三个比较重要的概念。 对象 class person { public: int memberid; void move(); }; main() {person dabao; //声明了一个对象 程序主体; } 对象 main() {person a1,a2,a3,a4,a5,a6,a7,a8,a9,a10; //声明了10个对象 程序主体; } 显然这种声明方法不可取,通常我们会用数组 main() {person member[10] 程序主体; } //每个数组成员都是一个person类对象 类的成员的访问 class person { public: int memberid; void move(); }; main() {int i; person member[10]; for (i=0;i10;i++) member[i]完成move 行为,该怎样作呢? } 类的成员的访问 这里涉及到类的成员的访问: 本例中可以采用: main() {int i; person member[10]; for (i=0;i10;i++) member[i].move} } 类的成员的访问 类的成员的访问方式与成员的性质有关系: 即公有 public 和私有 private 类的成员的访问 缺省状态下,一个类中的所有成员都是私有的。私有成员只能被类本身的方法所访问。而公有成员可以通过这个类的对象直接访问。 类的成员的访问 这也就是为什么在前面类的说明中,我们加入public关键字 class person { public: int memberid; void move(); }; main() {int i; person member[10]; for (i=0;i10;i++) member[i].move} } 类的成员的访问 如果不加入public关键字 class person { int memberid; void move(); }; main() {int i; person member[10]; fo
文档评论(0)