程序设计基础II学习笔记
程序员文章站
2022-07-14 22:05:53
...
第一章 面向对象程序设计概述
面向对象的语言
:
类
:钟表。(本质特征:都是看时间)
对象(类的实例)
:某块特定的钟表。(颜色、形状等可能不一样)
类
:分类的主要依据:抽象。例如:石头、汽车、树木等都是人们长期的生产生活中抽象出来的概念。
类与对象的关系
:犹如模具与铸件的关系,一个属于某类的对象称为该类的一个示例。
封装
:尽可能简化内部细节。对外形成一个边界,只保留有限的对外接口使之可以与外部发生反应。例如:sort函数就是一个封装好的函数,直接输入地址就可以对数组进行排序。
继承
:特殊类拥有一般类的全部属性与服务,我们称为特殊类对一般类的继承。例如:轮船是一般类,客船是特殊类。(a是一般类,如果b有a全部属性特点,在此基础上,b还有特殊的属性,那么b就是特殊类。)
源程序
:还没翻译的代码。(机器无法识别)
目标程序
:源程序经过翻译生成的程序,可以直接执行。
翻译程序
:
-
1.
汇编程序
:将汇编语言写的源程序翻译成目标程序。(高级语言用不到) -
2.
编译程序
:将高级语言写的源程序翻译成目标程序。(C、C++) -
3.
解释程序
:与编译程序的不同点:编译程序一次性将汇编程序翻译完,解释程序翻译一句、执行一句,反复进行。(JAVA、BASIC)
程序的开发过程
:(C++为例)
-
编辑:将源程序输入到计算机中,生成后缀为cpp的磁盘文件。
-
编译:将程序的源代码转换为机器语言代码。
-
连接:将多个源程序文件以及库中的某些文件连接在一起,生成一个后缀为exe的可执行文件。
-
运行调试。
第二章 面向对象程序设计基础
cin和cout基本输入和输出
:getline(cin,str):输入带空格字符串。
常变量的定义
:const 变量类型 变量名=x(所定义的变量为常量)
引用与常引用
:(对一块地址重复命名)
int n = 10;
int &a = n; //引用
const int &b = n; //常引用
cout << a << ' ' << b << endl;
内联函数
:系统直接将调用内联函数的地方用等价的语句替换,减少运行环境的保存和恢复时间。(在函数名前面加上inline即是内联函数,但是内联函数只适合小功能的函数,例如一个计算公式等)
带缺省值的函数
:预先给定形参值,如果不给定实参值,则采用形参值。
函数重载
:多个 参数数量 或参数类型 不同的函数 函数名相同
动态内存分配
(注意:返回的是分配的空间的首地址)
int *p, *q;
p = new int(3);//初始化该空间的值为3
q = new int;
delete[] p;
delete[] q;
int *p, *q;
p = new int[10]; //分配10个int型的元素,把该内存的首地址给p
q = new int;
delete[] p;
delete[] q;
动态内存的释放
:delete
int *p, *q;
p = new int[10];
q = new int;
delete[] p; //多个元素的动态内存释放
delete q; //单个元素的动态内存释放
第三章 类和对象(一)
c++面对对象程序设计,也使用了类和对象的概念,并通过下面的方法来模拟对象的状态和行为:
- 1.对象的状态通过对象的属性数据来描述。
- 2.对象的行为:定义一个函数集,通过调用对应函数表示对象完成一个行为。