网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
长春理工大学 面向对象程序设计 ─类 长春理工大学 董元方 第8章 类 从结构到类 成员函数 操作符 再论程序结构 屏蔽类的实现 静态成员 友元 结构 结构是拥有若干分量的一种构造类型 #includeiostream #includeiomanip using namespace std; struct Date { int year; int month; int day; }; void print(Date); bool isLeapYear(Date d); void main() { Date d; d.year=2000; d.month=12; d.day=6; if(isLeapYear(d))print(d); } void print(Date s) { coutsetfill(0); coutsetw(4)s.year-setw(2)s.month-setw(2)s.day\n; coutsetfill( ); } bool isLeapYear(Date d) { return (d.year%4==0 d.year%100!=0) || (d.year%400==0); } 结构?类 C中的struct:不允许有成员函数 C++中的class:可以有成员函数。 C++中类与结构的唯一区别 类(class)定义中默认情况下的成员是private的 结构(struct)定义中默认情况下是public的。 类和对象的定义 类(class) 用户定义的类型(User-defined type,UDT) 对象(object) 用类来创建的,是系统分配存储区的实体 如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计 类 类的定义 类的定义 访问控制 类的访问控制说明符:public, protected, private private:只能被成员函数和类的友元访问,外部不能访问它们 protected:对派生类就像public成员一样,对其他程序表现得像private public:在程序的任何地方都可以被访问 默认为private 相对于外部函数而言,保护类的内部数据不被肆意侵犯 使类对它本身内部实现的维护负责 限制类与外部世界的接口 减少类与其他代码的关联程度 类中属性和操作的相对位置 成员函数 两种定义方式 内部定义 外部定义 类对象(实例)的定义和调用 类名 对象名 对象名.类成员函数 调用成员函数 一个对象要表现其行为,就要调用它的成员函数 用“.”操作符来调用成员函数 #include iostream using namespace std; #include “date.h” void func() { Date oneday; oneday.Set(2,15,1998); oneday.Print(); } class Savings { public: unsigned deposit(unsigned amout) { balance+=amout; return balance; } private: unsigned accountNumber; float balance; }; void fn() { Savings a; Savings b; a.balance=100.5; b.balance=200.5; a.deposit(100); } 实现Date类 #include iostream using namespace std; class Date { private: int month; int day; int year; public: void Set(int m, int d, int y) {month=m; day=d; year=y; } bool IsLeapYear() {return(year%4==0year%100!=0)|| (year%400==0);} void Print() {coutmonth“/”day“/”year endl;} }; void main() { Date a; a.Set(2,4,1998); a.Print(); } Date类的外部实现和调用 #include iostream using namespace std; #inc

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档