您的位置:首页 > 编程语言 > C语言/C++

应试C++

2017-10-07 11:54 113 查看
基类缺省构造函数,派生类不用定义

int *p; *p=9; 错了,不能用9给p赋值

一般调用函数会发生控制转移,内联不能

类的数据成员不能在类声明时初始化

定义对象指针不需要调用构造函数,指针指向时调用

new的对象只能赋值给指针,

类前向声明可以使用引用和指针,不能实例数据

assert();直接判断()里的条件是否成立,不成立则终止

typedef为已有变量取新名字   typedef type newname

enum枚举变量   enum enum-name {} var-list    

传值调用,指针调用,引用调用

类定义的函数都是内联函数



带箭头表示数据流

结构化程序设计原则:自顶向下,逐步求精,模块化,限制使用goto语句

软件设计模块准则高内聚低耦合,模块大小规模适当,依赖关系适当

有穷性 运行时间有限

栈按先进后出,数据处理在栈顶

const必须初始化,const double *point指向常量的指针 const *double point常指针

动态删数组  delete[] array;

while为真时执行

int *p; *p=9; 错了,不能用9给p赋值

一般调用函数会发生控制转移,内联不能

= () [] ->不能重载类的友元函数为,单目成员,双目友元

常对象成员函数不一定,数据成员是 常数据成员

常数据成员只能通过初始化列表,值不能改变

常成员函数不能修改数据成员

类的静态函数和全局函数不能用this指针

虚函数必须是非静态成员函数,派生类中会再次定义,包含纯虚函数的是抽象类

基类缺省构造函数,派生类不用定义

类的数据成员不能在类声明时初始化

对象指针不需要调用构造函数

类模板定义声明以template开头

    template<typename T,typename U>

    T cast(U u){return u;}

类模板使数据成员和成员函数的参数和返回值取任意数据类型



循环队列有队头队尾指针,共同反映元素动态变化,是线性的

有序线性表顺序存储用二分法查找,长度为n需要比较log2(n)次,顺序n次

链式存储结构可针对线性及非线性,每个结点都有数据域和指针域构成,增加存储空间

顺序存储结构的存储一点是连续的,链式存储结构不一定

需求分析用的工具有DFD图,数据字典DD,判定树与判定表

对象特点:标识唯一性,分类性,多态性,封装性,模块独立性好

数据管理阶段:人工,文件系统,数据库系统   数据库系统最好

自然连接:比较分量有相同属性,去重复列

运算符重载不能改变操作数优先级结合性,不能有默认参,至少一个是类对象

类型转换符不需要声明返回类型

拷贝构造函数使用:建立新对象并用另一个对象赋值,函数参数为类对象,返回值为类对象

类默认继承方式私有继承 默认数据类型私有类型

虚函数:基类virtual声明,多个派生类重新定义,派生类该函数也是虚函数

模板实参表<>,模板函数实参表()

    若后者能判断部分或全部虚拟类型参数,又是参数表最后若干参数,前者可以省略

    若模板实参表实参全省略,则<>可省略

    模板函数实参表有同样信息,但后面还有不能省略参数,则仍不能省略

typename可以替换为class,模板类型形参可用常规类型声明参数

streamoff定义于iostream.h中,有offset能取的最大值,

seek_dir移动基准,有以下枚举

     ios::beg文件开头 ios::cur文件当前位置 ios::end文件结尾

释放指针delete [] p



栈先进后出,队列先进先出。有序线性表可以采取顺序和链式

.成员访问 .*成员指针访问 ::域 ?:条件 sizeof长度 不能被重载

纯虚函数能定义指针

cin是输入流对象

iomanip包含:setfill(ch)用ch填充空白,setprecision(n)设置浮点精度

    setw(w)读w个字符,showpoint设置小数点



二叉树非线性,循环线性

算法空间复杂度指算法执行过程中需要内存空间

E-R图表示实体联系图是菱形

short,long默认有符号 short int long 分别是2 4 8字节

无构造,则生成构造和拷贝。无拷贝,则生成拷贝。都定义则不会生成任何

虚基类的类可以被实例化,派生类可以不重新实现虚函数

对象指针不执行构造和析构

给指针对象赋值时执行构造函数??

初始化列表调用基类构造函数

cin遇到空格tab回车都会结束



冒泡排序,第一次i最小数在第一个,第二次第二小完成

    for (int i = 0; i < _n-1; i++)

        for (int j =_n; j > i; j--)

            if ( _s[j] < _s[j-1] ){                       // 交换 _s[j] 和 _s[j-1]

                double t = _s[j];
_s[j]=_s[j-1];
_s[j-1]=_s[j];

            }

栈和队列都是线性结构

软件测试为了发现错误

数据库系统三级模式:概念模式 外模式 内模式     数据库设计反映外模式

重载运算符不能有默认参数

静态成员函数不能访问非静态成员,用类引用或对象引用

    Constants::getPI() constants.getPI()

操作符重载成员函数 MyClass& operator=(MyClass&x){}

虚函数传参时对引用有效

标准流cout cin cerr clog



线性结构:有且只有一个根结点,每个根结点最多有一个前件,最多有一个后件

循环链表和双向链表都是线性结构

二叉树 空二叉树 完全二叉树 深度 度 叶子节点 分支节点

软件测试为了发现错误,程序调试的任务是发现错误

数据字典-需求分析



栈先进后出,栈底指针不变,栈顶指针操作

二叉树:叶子节点比度为2的结点多一个

软件设计是将软件需求转换为软件表示的过程,数据结构与数据库设计是软件设计的任务之一,PAD是软件详细设计的表示工具

类定义不能包含自身对象,可以有指针

类内定义的函数默认为内联,类外需要写inline

模板形参在template后,用class或typename修饰

getline(istream &is,string &str,char delim)  饱和存入delim字符



类模板的成员函数都是模板函数,可以设置默认值,表述了一组类

实体间联系二维表

关系运算



叶子节点比度为二的节点多1个

冒泡排序比较n*(n-1)/2次

程序数据文档构成计算机软件

软件生命周期定义、开发、维护   可行性研究不属于其

结构化工具数据流图,数据字典,判定树和表

类型转换函数 operator 类型名(){}   没有参数

运行多态:虚函数,引用,指针    编译多态:重载

结构化程序设计原则:自顶向下,逐步求精,模块化,限制使用goto语句

软件设计模块准则:高内聚低耦合,模块大小规模适当,依赖关系适当

面向对象特性:封装,数据隐藏,继承,多态

栈先进后出,栈顶处理数据,队列先进先出

    循环队列有队头队尾指针,线性

链式存储可线性和非线性,每个结点都有数据域和指针域,增加存储空间

顺序存储结构的
4000
存储一点是连续的,链式存储结构不一定

带箭头表示数据流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 计算机二级