选择题
- 度为0的节点比度为2的节点多1。
- 关键字是属性或者属性的组合,其值能够唯一标识一个元组。
- DFD图是需求分析阶段的图形工具,而不是详细设计。
- 若基类成员的访问属性为private,则不能被继承。子类无权访问
- protected和友元函数
- private:类函数,友元函数
- protected:类函数、子类函数、友元函数
- public:都可以访问
- 友元函数不可以在类内部定义,可以声明在任意一个区。
- 友元类的所有成员函数都是另一个类友元函数
- 可以省略实参模板,但如果从模板函数实际参数中获得的信息有矛盾,则不能省略实际参数模板。
- 若派生没有重定义纯虚函数,这个函数仍然是纯虚函数。
- 运算符重载至少有一个形参是类的类型。
- 实参和形参共用内存单元。X
- 常对象处了可以调用静态成员函数,还可以调用常成员函数。
- 常对象中可以有非常成员函数。
- 内联函数
- 可以没有return语句
- 内联函数通过编译器实现
- 调用时发生控制转移?X
- 类中直接定义的函数默认为内联函数。
- 必须inline。X
- 调用父类中的dispa,输出的是Base::x.
- 一元运算符可以作为全局函数重载,不是非得成员函数。
- 由于
\
在C++中用来定义转义字符,必须对文件名字符中的\
进行转义。 - 线性表可以是空表。
- 数据库管理系统在数据库的三级模式之间提供了两层印象,保证了数据库中数据的较高的逻辑独立性和物理独立性。
- 白盒测试:逻辑覆盖测试,基本路径测试。
- 虚函数可以是友元但是不能是静态函数。
- 无论是否使用virtual,重定义的虚函数都是虚函数。
- 前缀++:operator++()
- 后缀++:operator++(0)
- 枚举从0开始
- switch语句中default不是固定在最后的,同时也可以省略。
- 在下列存储器标识符中,内部静态类的可见性与存在性不一致。
- 派生类是基类的组合。
- delete 父类指针,只执行父类的析构函数。
- delete 子类指针,执行父类和子类。
- 父类虚析构函数,delete 父类指针。
- 模板函数有两个参数时,不能省略,可以强制转换。
- 变量作用域的屏蔽效应。形参 和 静态变量
- 派生类构造函数成员初始化列表中,包括自己成员初始化,基类构造函数,子对象初始化,不对基类中子对象初始化。
- 在树中,结点数为树中所有结点的度之和再加1。
- 同时,结点数为各种度的节点数之和。
- 快排最差复杂度$O(n^2)$,比较次数为$n(n-1)/2$
- 线性与非线性结构
- 循环队列是非线性结构(只能有一个根节点)
- front=24,rear=25:入队25次,出队24次。
-
Base*p=Derived();((Base)p).fun();
调用的是基类函数 - 第一范式:每个属性都已不能再分为简单项
- 第二范式,在以上基础上,非主键完全依赖于主键
- 第三范式,在以上基础上,非主键直接依赖于主键
- 部分依赖
- 关系模型中:多对多联系
- 在提供一个完整的类声明之前,不能声明该类的对象。
- 派生类的数据成员个数也包括不能直接访问的private成员。
- 不能重载的五个运算符
.、.*、->*、::、?:
- 运算符作为非成员函数重载时可以不定义为友元,通过公有接口访问私有成员。
- 类型转换运算符只能重载为成员函数。
=、[]、()、->
- 类成员对象构造函数调用顺序,与在类中声明的顺序相同。(先于类本身构造函数)
- setw设置只影响一个数据输出。
编程题
-
friend TestClass* fun(TestClass* );
//没有形参friend void mian();
friend class Teacher;
- explicit 禁止隐式转换
-
template <class T>
或者template <typename T>
virtual public TestClassA
ofstream out1;out1.open("proj2.txt",ios_base::binary|ios_base::app)
-
const char* GetName2()
实现只读操作 -
ios_base::app
实现以追加的方式打开文件 - 对类数据成员取地址,定义指针
int TestClass::*p=&(TestClass::m);
p=&(TestClass::n)
- 字符串在两行
"abc""def"
"abc\def"
- a[3][3]取地址用a[0]或者&a[0][0];
- int* p=a[0];
- *(p+i);
- (a+i);
- operator int()没有返回值
- operator <<(char* str)
- int i=int(obj);
- assert(false);产生中断。
- 形参类型为自定义类型时,用引用。
-
static int get(TestClass* obj)
cout<<obj.get(&obj);
- const不能修饰非成员函数
- 当函数既有原型声明又有定义时,默认参数只能在原型声明中指定,不能在定义中指定。
- 同时,const数据成员无需在声明中的构造函数列表体现,定义中需要体现。
- 访问隐藏变量要使用作用域运算符::或者this指针.
friend void fun();
-
virtual void print()=0;
class TestClass1:virtual private TestClass0
-
outfile.open("out2.txt",ios::out);
while(infile.get(ch))
-
while(p->next!=NULL)
格式问题while(str[i])
cin.getline(str,120,'?')
out1.put(s[i])
Date & operator+=(int m)