谭浩强C++程序设计第8章类和对象
2012-09-19 20:04
197 查看
第八章、类和对象
1, 对象有两个要素:属性和行为,它能根据外界给定的信息进行相应的操作;
2.抽象的作用是表示同一类事物的本质,而对象是具体存在的;
换句话来说就是:类是对象的抽象,而对象则是类的特例;或者说是类的具体表现形式;
3.成员函数才能引用同一对象中的数据,类外不能直接调用类中的数据成员;
(即,一般把数据隐藏,把成员函数作为对外界的接口)
4.现在的C++程序中,一般都先写public部分,把private部分放在类体的后部;
5.private的成员函数并不是准备为外界调用的,而是为本类中的成员函数所调用,它的作用是支持其他函数的操作,是类中其他成员的工具函数;,类外用户不能调用;
6.::display()和display()一样意思,都是表示全局函数,不属于任何一个类;
7.如果在类体中定义的成员函数中不包括循环等控制结构,C++系统会自动将他们作为内置inline类型函数来处理;
也就是说,在程序调用这些成员函数时,并不是真正地执行函数的调用过程(如保留返回地址等处理),而是把函数代码嵌入到程序的调用点,这样会减少调用成员函数的时间开销;
8.注意一点:如果在类体外定义inline函数,则必须将类定义和成员函数的定义都放入在同一个头文件中(活写在同一个源文件中),否则编译时无法进行置换(将函数代码的拷贝嵌入到函数的调用点);
但这样做,不利于类的接口与类的实现分离;
9.一个对象所占的空间大小只取决于该对象中数据成员所占的空间,而与成员函数无关。
函数代码是存储在对象空间之外的;(由this指针来识别)
10.在成员函数引用对象的数据成员时,只需要写数据成员名,这是C++系统会把它默认为本对象的数据成员。
当然也可以显式第写出类名并使用域运算符;类名::数据成员
11.在声明类时,一般都是把所有的数据指定为私有的,使他们与外界隔离,把需要让外界调用的成员函数指定为公用的,外界通过公用的函数来实现对数据的操作。
外界与对象唯一的联系渠道就是调用公用的成员函数;
12.当接口与实现(对数据的操作)分离时,只要类的接口没有改变,对私有实现的修改不会影响到程序的其他部分;
13.把成员函数的定义放在源文件,这样一个成员函数的定义不会被多次重复编译;
1, 对象有两个要素:属性和行为,它能根据外界给定的信息进行相应的操作;
2.抽象的作用是表示同一类事物的本质,而对象是具体存在的;
换句话来说就是:类是对象的抽象,而对象则是类的特例;或者说是类的具体表现形式;
3.成员函数才能引用同一对象中的数据,类外不能直接调用类中的数据成员;
(即,一般把数据隐藏,把成员函数作为对外界的接口)
4.现在的C++程序中,一般都先写public部分,把private部分放在类体的后部;
5.private的成员函数并不是准备为外界调用的,而是为本类中的成员函数所调用,它的作用是支持其他函数的操作,是类中其他成员的工具函数;,类外用户不能调用;
6.::display()和display()一样意思,都是表示全局函数,不属于任何一个类;
7.如果在类体中定义的成员函数中不包括循环等控制结构,C++系统会自动将他们作为内置inline类型函数来处理;
也就是说,在程序调用这些成员函数时,并不是真正地执行函数的调用过程(如保留返回地址等处理),而是把函数代码嵌入到程序的调用点,这样会减少调用成员函数的时间开销;
8.注意一点:如果在类体外定义inline函数,则必须将类定义和成员函数的定义都放入在同一个头文件中(活写在同一个源文件中),否则编译时无法进行置换(将函数代码的拷贝嵌入到函数的调用点);
但这样做,不利于类的接口与类的实现分离;
9.一个对象所占的空间大小只取决于该对象中数据成员所占的空间,而与成员函数无关。
函数代码是存储在对象空间之外的;(由this指针来识别)
10.在成员函数引用对象的数据成员时,只需要写数据成员名,这是C++系统会把它默认为本对象的数据成员。
当然也可以显式第写出类名并使用域运算符;类名::数据成员
11.在声明类时,一般都是把所有的数据指定为私有的,使他们与外界隔离,把需要让外界调用的成员函数指定为公用的,外界通过公用的函数来实现对数据的操作。
外界与对象唯一的联系渠道就是调用公用的成员函数;
12.当接口与实现(对数据的操作)分离时,只要类的接口没有改变,对私有实现的修改不会影响到程序的其他部分;
13.把成员函数的定义放在源文件,这样一个成员函数的定义不会被多次重复编译;
相关文章推荐
- 谭浩强C++程序设计第9章关于类和对象的进一步讨论
- C++ 指针 《C++ 程序设计》 -谭浩强 指针一章总结
- Javascript高级程序设计--第8章笔记---窗口对象
- C++ Pirmer : 第十五章 : 面向对象程序设计之基类和派生的定义、类型转换与继承与虚函数
- 面对对象程序设计_task2_C++视频教程
- C++程序设计语言--第十八章:算法和函数对象
- 面向对象程序设计-C++ Operator Overloading & Type conversion (Static)【第十一次上课笔记】
- C++ 学习笔记(15)面向对象程序设计(类、继承、虚函数、抽象类、using命令、容器与继承)
- 类和对象 编程题#2(Coursera 程序设计与算法 专项课程3 C++程序设计 郭炜、刘家瑛;OpenJudge)
- C++程序设计--对象分册(第5章)
- 【学习笔记】C++高级程序设计:STL:函数对象
- 【自考】C++程序设计(一 )对象、类、函数
- 《c++程序设计--谭浩强》读书笔记
- 面向对象与C++程序设计-字符串流学习笔记
- 类和对象-编程题#1(C++程序设计第3周)
- * 期末考试 编程题#7:字符串排序(Coursera 程序设计与算法 专项课程3 C++程序设计 郭炜、刘家瑛;函数对象作参数)
- 转 C++ 面向对象程序设计的基本特点
- C++读书笔记:构造函数与析构函数(来自谭浩强的C++程序设计)
- 笔记:C++学习之旅---面向对象程序设计2
- 面向对象程序设计-C++ Inheritance & Multiple inheritance & RTTI【第十三次上课笔记】