标签:运算 分享 函数名 调试 编译 空间 单独编译 独立 style
第八章 类对象的特性
面向对象程序设计有4个主要特点:抽象、封装、继承和多态。
任何对象都应当具有两个要素,即属性和行为。对象是由一组属性和一组行为构成的。
1.类的声明和对象的定义
*类是对象的抽象,对象是类的具体实现。
*类的声明:
class 类名{
成员属性:成员;...
}
*对象的定义:与普通类型相同;
2.类的成员函数
*成员函数的性质:public,protected,private
*类外定义成员函数:(要体现作用域)函数类型 类名::函数名(参数表){函数体;}
*内置成员函数:为减少时间开销,如果在类中定义成员函数中不高扩循环等控制结构,C++系统自动地对其作为内置函数来处理。
注意:如果在类外定义inline函数,则必须讲类定义和成员函数的定义都放在同一个头,文件(或者在同一个源文件),否则编译时午饭进行置换(把函数代码拷贝嵌入到函数的调试点)。但是这样做不利于类的借口与类的实现分离,不利于信息隐蔽。
*成员函数的存储方式:同类的对象成员函数相同,因此,类的成员函数独立存储,每个对象的存储空间仅包括对象的数据成员所占的空间。
This指针用来指向不同的对象。
说明:
·成员函数的代码段的存储方式是相同的,都不占对象的存储空间。
·不论是否用inline声明,成员函数的代码段都是不占对象的存储空间;inline的声明仅影响程序的效率不影响成员函数的存储空间;
·虽然成员函数和成员数据的存储空间不同,但从逻辑角度,成员函数和成员数据是一起封装在对象中的。
3.对象成员的引用
通过对象名和成员运算符访问对象中的成员
通过指向对象的指针访问对象中的成员
通过引用来访问对象中的成员函数
4.类的封装性和信息的隐蔽性
公用接口与私有实现的分离
类声明和成员函数定义的分离:
类声明头文件(后缀.h);类实现文件(后缀.cpp);类的使用文件(后缀.cpp)
在系统提供的头文件爱你中只包括对成员函数的声明,而不包括成员函数的定义。
只有把对成员函数的定义单独放在另外一个文件中,单独编译,才能避免重复编译
C++系统提供:标准类库;用户可以自定义:自定义类库
个人笔记分享,欢迎指教,未经允许请勿转载。谢谢!
标签:运算 分享 函数名 调试 编译 空间 单独编译 独立 style
原文地址:http://www.cnblogs.com/hello-OK/p/7050435.html