- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计-3分析
* * * * * * * * * * #include iostream using namespace std; class A{ public: int a; int b; int *c; void Init(){ a = 10; b = 20; c = new int[10]; for(int i = 0; i 10; i ++){ c[i] = 10*i; } }; void print(){ printf(%d,%d\n,a,b); for(int i = 0; i 10; i ++){ printf(%d,,c[i]); } printf(\n); }; }; main() { A *a,*b; a = new A; a-Init(); a-print(); *b = *a; delete a; b = new A;// b 的位置不同也会有不同的结果 b-print(); int k = 15; } * * * * 要点: 应注意:同一问题可能有不同的抽象结果——根据解决问题的要求不同,产生的抽象成员可能不同。 * * * * * * * * * * * * * * * * * * * * * * * * * * * 保护类型 与private类似,其差别表现在继承与派生时对派生类的影响不同,第七章讲。 类 和 对 象 * 类的成员 class clock { public: void setTime(int newH, int newM, int newS); void showTime(); private: int hour, hinute, second; }; 类 和 对 象 成员数据 成员函数 void Clock::setTime(int newH, int newM, int newS) { hour = newH; minute = newM; second = newS; } void Clock::showTime() { cout hour : minute : second; } * * 成员数据 与一般的变量声明相同,但需要将它放在类的声明体中。 类 和 对 象 * 成员函数 在类中说明原型,可以在类外给出函数体实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。 允许声明重载函数和带默认形参值的函数 类 和 对 象 * 内联成员函数 为了提高运行时的效率,对于较简单的函数可以声明为内联形式。 内联函数体中不要有复杂结构(如循环语句和switch语句)。 在类中声明内联成员函数的方式: 将函数体放在类的声明中。 使用inline关键字。 类 和 对 象 * 内联成员函数举例(一) class Point { public: void init(int initX, int initY) { x = initX; y = initY; } int getX() { return x; } int getY() { return y; } private: int x, y; }; 类 和 对 象 * 内联成员函数举例(二) class Point { public: void init(int initX, int initY); int getX(); int getY(); private: int x, y; }; 类 和 对 象 inline void Point:: init(int initX,int initY) { x = initX; y = initY; } inline int Point::getX() { return x; } inline int Point::GetY() { return y; } * * 对象 类的对象是该类的某一特定实体,即类类型的变量。 声明形式: 类名 对象名; 例: Clock myClock; 类 和 对 象 * 类中成员的访问方式 类中成员互访 直接使用成员名 类外访问 使用“对象名.成员名”方式访问 public 属性的成员 类 和 对 象 * 例4-1类的应用举例 #includeiostream using namespace std; class Clock { ......//类的声明
文档评论(0)