part1 算法分析与程序设计基础

来源:互联网 发布:淘宝营销培训 编辑:程序博客网 时间:2024/05/16 14:53

1.算法特征:

输入性(0个或多个输入)

输出性(1个或多个输出)

确定性(任何条件下,算法只有唯一执行路径)

有穷性

可行性

 

2.判断一个算法好坏的标准:

正确性、可读性、健壮性、效率

 

3、算法描述:自然语言、框图、伪代码、程序设计语言(程序=数据结构+算法)。

 

4.C++程序文件分为4个部分:预处理指令、全局说明、程序主函数、用户自定义函数。

 

cerr:标准错误输出,通常用来产生给程序用户的警告或者提供错误信息。

 

5.程序编写4个套路:面向过程、面向对象、SDK编程、MFC编程。

 

int main(int argc,char *argv[]),main函数中定义两个参数 argc和argv,其中argc存储的是命令行参数个数,命令本身也是参数;argv数组存储命令行各个参数的值。

 

注意:#include<>表示系统提供的头文件;

#include“”表示用户自己编写的头文件;

 

面向对象设计语言将一些变量和函数封装到类中(class),当变量被类封装后,称之为类的属性或者数据成员;当函数被类封装后,称之为方法或者成员函数

 

定义好一个类,然后创建类的实例-即对象

注意:如果方法在类的外面定义,需要使用类限定符号“::”来指定方法属于哪个类。

6.是具有一组相同属性和操作的集合,是对客观事物的一种高度抽象,因此包含数据成员(成员变量、属性)和成员函数(方法=函数)。

 

类VS.结构

1)类定义中默认情况下成员是private,而结构定义中的默认成员是public。

2)C语言中,结构中不允许有成员函数,在C++语言中可以有成员函数。

 

数据成员也叫成员变量或属性。声明一个数据成员时,

1)不能采用auto、extern、register修饰;

2)只有采用static修饰的静态数据成员才可以被显示初始化,具有特殊属性。

 

成员函数也叫方法,方法就是函数。当函数被类封装的时候称之为方法。

 

7.类的访问限制:public、private、protected。

注意:private成员只能被该类的成员函数访问或者该类的友元函数访问。

protected成员对于派生类来说,就是公有成员,可以被访问;但是对于其他类来说,就是私有成员,不允许被访问。

 

设计类的时候,将数据成员定义为私有数据类型,将成员函数定义为公有的。(外部函数不能直接访问数据成员,只能通过成员函数访问数据成员。)

 

8.  C语言中用malloc()函数来申请内存,用free()函数来释放内存;C++可以使用这样函数,但不建议使用这方法。C++语言提供new表达式和delete表达式来申请和释放内存。

注意:用delete删除一个经malloc()函数申请的变量会导致一个错误,用free()函数释放一个由new分配的变量也会导致错误。

 

9  构造函数、析构函数是两个特殊成员函数,函数名字和类名相同。

1)构造函数名称必须与类名相同;

2)构造函数没有返回值,所以不能有返回类型;

3)构造函数不能被声明为const类型。

4)任何类至少有一个构造函数,若程序不提供构造函数,系统则提供一个默认的构造函数,默认构造函数不带任何参数;

 

析构函数并不必需的;析构函数没有任何参数,不返回任何值;

 

10.  类中this指针,是指向调用成员函数的类对象的指针。可以像任何指向对象指针那样使用,借助于箭头运算符,可访问它所指向的对象的成员。

 

this指针只能在类的成员函数中使用,它指向该成员函数被调用的对象

 

11.  C++程序由类和函数组成,模板分为类模板和函数模板。

 

template是关键字,模板参数表用一对尖括号括起来,内有一个或多个模板参数,不能为空。

模板类型并不具有隐式类型转换。

 

函数模板是C++功能最强特性之一,具有宏定义和重载的共同优点,是提供软件代码重用的重要手段。

 

12.  继承有单继承和多继承。使用“:”运算符实现继承关系。继承有3种:public、protected、private。

注意:派生类包含基类的数据成员,创建对象的时候,这些数据成员在派生类和基类中被单独存储,但是被继承的函数占用同一地址空间

 

继承中的静态数据成员,其存储方式是在共有地址存储的。因此可以将静态数据成员看成全局数据成员。

 

13.  如果派生类有public基类,那么指向派生类的指针可赋给指向基类的指针类型变量。

当通过指针进行操作时,派生类的某个对象可看作其基类的某个对象。但是,反过来不行。

 

派生类不能访问基类的私有成员,若要访问,只能通过调用基类的成员函数的方式来实现。如果创建类时未给定说明符,则默认其为private

 

保护成员可以被派生类访问,但不能被外界访问。

虽然基类的private成员不被派生类访问,但是派生类还是包含了基类的私有成员。

 

注意:派生类中可以访问基类的共有和保护成员,但是派生类的对象将不能访问任何基类成员,因为所有成员均为私有成员。