1.软件开发流程:需求分析,概要设计,详细设计,编码,测试,交付验收,维护
2.C和C++的区别
(1) 结构体和类
<1> 结构体只是对多种数据成员的简单组合,并没有相应的访问权限控制,也没有对操作函数的包装;而类是在结构体的基础上增加了对成员的访问权限控制,并将相应成员函数和成员变量一起进行了封装。
<2> 结构体默认数据访问权限为公有,类默认为私有。
<3> 类独有的继承机制可以方便地实现代码重用和功能扩充。
(2) 指针和引用
<1> 指针可以不初始化但最好初始化,引用必须初始化。
<2> 指针的指向可以改变,引用一旦初始化就不能改变引用的“方向”。
<3> 存在指针数组但不存在引用数组,因为指针本身是一个变量,而引用只是一个别名,一个“标志”,并不会额外占用内存。
<4> 指针声明:int *p=NULL;引用声明:int a=1;int &b=a;
(3) 语言特点
<1> C语言是面向过程的,适合处理流程化的问题;C++是面向对象的,适合处理大而复杂的、内部可抽象为多个对象的系统性问题。
<2> C++的继承、封装、多态等特性以及对C的兼容是C所不能匹敌的。
(4) 名字修饰
<1> 在编译阶段,C编译器只对变量、函数的名称进行简单处理,并不将其命名空间、函数参数类型等其他附带的信息包含进去;而C++编译器会将这些附带信息和名称信息一起再修饰,以满足多态的一些条件。
<2> 在C++编译器中使用某些C语言编译完成的库文件中的函数时,需要使用extern C来指定所涉及的函数使用C编译方式编译。