应试C++

基类缺省构造函数,派生类不用定义
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语句
软件设计模块准则:高内聚低耦合,模块大小规模适当,依赖关系适当
面向对象特性:封装,数据隐藏,继承,多态




栈先进后出,栈顶处理数据,队列先进先出
    循环队列有队头队尾指针,线性
链式存储可线性和非线性,每个结点都有数据域和指针域,增加存储空间
顺序存储结构的存储一点是连续的,链式存储结构不一定


带箭头表示数据流













  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值