前面是一些最近感想,忙着复习的uu~可以跳过我的废话哈...
咳咳,不知不觉间就到期末复习周啦,平时摆烂,考前狂刷题,不知道你是不是这种状态哈哈,话说回来,小编感觉自己最近好久没有发博客,你们有没有想我啊,最近也是很忙,加上有点懒,这不,意识到自己错误了,马上学习了嘛,学习并不是抵触的,主要我说服自己学习要好长时间,就比如说,早上起床,本来是5点钟来着(小编不喜欢睡懒觉),然后,按道理来说应该去学习,想着想着学习不好玩,所以...接着睡,害,也是挺无语,一觉睡到10点,磨磨蹭蹭到11点,吃个饭就到12.00左右,再说服自己午睡对身体好,笑死哈哈,然后...睡到了2点,在纠结纠结到下午5点,终于说服成功,学一会儿,咳咳,某人该吃饭了,一去就一发不可收拾,这不,一天过去了,小编深刻的反省了下,深感愧疚,所以以后决定不午睡了,我们要调整好自己的状态,不能让情绪左右的同时要提高效率,预期惧怕后果不尽如人意,为何不早早行动,千万不能焦虑,实在不想写作业了可以私信我哈哈哈,聊聊天,一起学习,为了防止自己的懒惰,小编以后每天都会来博客的,立下这个flag了,大家一起成长吧。
不想看课本? 内容太多??不用担心,小编帮你整理,主要分几个板块,按照章节进行整理,知识点和题目分开的,小编后面再刷题整理哈,主要是记录下自己的学习历程,不对的还请包涵~
内容梗概
(1)面向对象程序设计四大特性
(2)类的定义
(3)类和结构体的异同
(4)成员函数
(5)内置成员函数
(6)成员函数的储存方式
(7)对象成员的引用
(8)通过指向对象的指针开访问对象中的成员
(9)通过对象的引用来访问对象中的成员
(10)公用接口与私有实现的分离(多文件结构)
(11)类声明和成员函数定义的分离
面向对象程序设计四大特性
(1)封装与信息隐藏
封装:将有关数据和代码封装在一个对象中,形成基本单位,各个对象独立,互不干扰,
将对象中部分隐藏,只留下少部分接口(函数名)称为信息隐藏(类的公用接口和私有实现的分离)
信息隐藏的好处
若是想扩充类的功能,只用修改本类中的数据成员和有关的成员函数,类外不用变
(2)抽象
表示同一类事物的本质
(3)继承与重用
(4)多态性
由继承产生不同的类,其对象对同一消息做出不同的响应
基本概念:
类:把设想的数据和操作放在一起形成整体,与外界相对隔离。
程序=算法+数据结构
第八章
在类的定义中如果既不指定为private也不指定public系统默认为是私有的
声明的一般形式:
class 类名
{
private :
私有的数据和函数
public :
公开的数据和函数
};
成员访问限定符: private和public
注:私有的只能被本类中的成员函数引用,而公开的可以被本类中的成员函数引用外还可以被类作用域的其他函数所引用
proteced(受保护的)
不能被类外访问但是可以被派生类的成员函数访问
关键词可以多次出现,但是不一定多个都要出现
定义对象
1)先声明类型然后定义对象
①class 类名 对象名
②类名 对象名
(2)在声明类的同时定义对象
(3)不出现类名,直接定义对象
在定义对象的时候编译系统会为这个对象分配储存空间,以存放对象中的成员
类和结构体的异同
如果不做private或者public的声明,
结构体:
系统默认为public的
类:
系统默认为private的
成员函数
工具函数:有的函数并不是为外界调用的,而是为本类的成员函数所调用的,支持其他函数的操作
在类外定义成员函数
举例:
class student
{
public :
void display();//公用成员函数原型声明
private :
int num;
string name;
char sex;
};
void student::display()
{
cout< cout…//函数体 } student stu;//定义类对象 在直接定义函数时不需要在函数名的前面加上类名,但是成员函数在类外必须加上类名,要限定,“::”是作用域限定符,用它声明函数是哪个类的如果没有类名的同时也没有作用域运算符 ::display() 不属于任何类不是成员函数而是全局函数,类体的位置应该放在函数定义之前 如果在类体中定义的成员函数不包括循环等控制结构,c++将自动的将它们作为内置函数 内置函数要用inline 注:对类内定义的函数可以省略 ,如果在类外定义内置函数则要关键词进行声明(必须将类定义和成员函数的定义放在同一个头文件中) 只有在类外定义的函数规模很小而且调用效率高时才会被指定为内置函数 同一类的不同对象的数据成员的值一般是不同的,但不同的对象的函数的代码是相同的,不论调用哪一个对象的函数的代码其实调用的都是相同内容的代码 如何获得类对象的占用字节数 cout< this指针 用来指向不同的对象 注: ①不论成员函数在类外定义还是在类内定义,成员函数的代码段的储存方式是相同的,都不占用对象的储存空间 ②不要将成员函数的储存方式和inline函数的概念混淆 ②不论是否用inline声明,成员函数的代码段都不占用对象的储存空间,它只影响程序的执行效率,而与成员函数是否占用对象的储存空间无关 对象成员的引用 成员运算符:“.” 一般形式 对象名.成员名 (在类中应当至少有一个公用的函数成员,作为对外的接口否则无法对对象进行任何的操作) Tine t,*p;(定义一个类的对象,和一个指针) p->hour ;(*p).hour ; t.hour; 都可以表示 通过对象的引用来访问对象中的成员 例: Time t1;// 定义对象t1 Time &t2=t1;//定义Time类引用t2,并初始化为t1 cout< 公用接口与私有实现的分离(多文件结构) 公用接口: 公用成员函数,也就是类的对外接口 接口与实现分离:(实现了信息隐蔽) 一切与用户无关的部分都封装在机箱中,用户看不见 通过成员函数对数据成员进行操作 类声明和成员函数定义的分离 用户使用类库的公用接口: 类声明头文件 c++程序的三个部分 ①类声明头文件(后缀为.h) ②类实现文件(后缀为.cpp) ③主函数(后缀为.cpp) 注: 用include 指令包括类声明头文件 并且在编译时把类的使用文件和类实现文件按多文件程序的规定组成一个统一的程序,经过编译连接后运行 ①类声明的头文件 ②已经经过编译的成员函数 几个名词 ❄方法 类的成员函数g ❄只有被声明为“公用”的方法才能被对象外界所激活,外界是通过发“消息”(一个命令)message来激活有关方法的 stud是对象 diaplay()是方法 整体是一个消息
注:
内置成员函数
成员函数的储存方式
通过指向对象的指针开访问对象中的成员
类的功能实现:
类库:
stud.disply();



