程序设计基础(C++) 面向对象程序设计—封装性
1 程序设计基础(C++) 面向对象程序设计——封装性
编程语言的目的 close to the machine close to the problem 摘自《C++语言的设计和演化》 Bjarne Stroustrup
2 编程语言的目的 ◼ close to the machine ◼ close to the problem 摘自《C++语言的设计和演化》 Bjarne Stroustrup
关于C+ Bjarne Stroustrup Be实验室 改进了C 增加了面向对象部分 着重于程序的组织 ■便于描述问题 ANSI C++ 最新版本:htp:// WWw.anslorg/
3 关于C++ ◼ Bjarne Stroustrup ◼ Bell 实验室 ◼ 改进了C ◼ 增加了面向对象部分 ◼ 着重于程序的组织 ◼ 便于描述问题 ◼ ANSI C++ ◼ 最新版本: http://www.ansi.org/
主要内容 面向对象编程思想 C++如何实现封装性 本章小结 本章作业 Ln」
4 主要内容 ◼ 面向对象编程思想 ◼ C++如何实现封装性 ◼ 本章小结 ◼ 本章作业
构造函数和析构函数 class string public String(char*)/构造函数 int length return len; y bool operator>(const String &)i ~ String({ delete[] value}//析构函数 private: int len; char *valuei F;
构造函数和析构函数 class String { public: String(char *);//构造函数 int length(){return len;} bool operator>(const String &); ~String(){ delete [] value;}//析构函数 ...... private: int len; char *value; };
构造函数的实现 String:: String( char *str) { len=o while(str[len]=0) len+十 value= new char[len+1] for(i=0; i<len+1; i++) value[i]=str[i]
构造函数的实现 String::String(char *str) { len=0; while(str[len]!='\0') { len++; } value= new char[len+1]; for(i=0; i<len+1; i++) value[i]=str[i]; }
本章小结 世界是由对象组成的 对象由两部分组成:属性和行为 分类思想:定义类 类的实例化:对象 ■三大特性:封装性、继承性、多态性 外部接口: public成员
42 本章小结 ◼ 世界是由对象组成的 ◼ 对象由两部分组成:属性和行为 ◼ 分类思想:定义类 ◼ 类的实例化:对象 ◼ 三大特性:封装性、继承性、多态性 ◼ 外部接口:public 成员
本章思考题(1) 设计和实现 Complex类,其满足以下要求: 属性:实部、虚部等 方法: 复数的加减乘除 复数模的计算 复数相等的比较
43 本章思考题(1) ◼ 设计和实现Complex类,其满足以下要求: 属性:实部、虚部等 方法: 复数的加减乘除 复数模的计算 复数相等的比较
本章思考题(2) 设计和实现 String类,其满足以下要求: 属性:字符串等 方法: 字符串长度 字符串比较 字符串连接 Ln」
44 本章思考题(2) ◼ 设计和实现String类,其满足以下要求: 属性:字符串等 方法: 字符串长度 字符串比较 字符串连接
第8章作业 实验8 ■习题:1,2,3,4,5,6 ■复习第8章,预习第9章
45 第8章作业 ◼ 实验8 ◼ 习题:1,2,3,4,5,6 ◼ 复习第8章,预习第9章