资源简介
1. 虚函数是可以[New一个对象的时候要根据虚函数的函数体来填虚表;而内联函数没有函数体,只是在预编译阶段展开]内联的,这样就可以减少函数调用的开销,提高效率(错误)
2. 一个类里可以同时存在[同一个类里无论什么函数都不能函数名和参数完全一样]参数和函数名都相同的虚函数与静态函数(错误)
3. 父类的析构函数是非虚的,但是子类的析构函数是虚的,delete子类指针(指向该子类对象)[特殊情况,参见题5],会调用父类的析构函数(正确)//任何情况下删除子类都会调用到父类的析构函数
4.对于下面的类CA,sizeof(CA) = _B_:
A. 4 B. 8 C. 12 D. 16
class CA
{
public:
CA();
virtual ~CA(); //因为有虚函数,所以会有4个字节的虚表指针
private:
int m_iTime; //成员变量4个字节
public:
int GetTime();
int SetTime(int iTime);
};
5.下面这段程序,打印结果是_A_:
A. 1 B. 2 C. 3 D. 以上都不对
int g_iCount = 0;
class CParent
{
public:
CParent() {}
~CParent() {g_iCount += 1;}
};
class CSon : public CParent
{
public:
CSon() {}
~CSon() {g_iCount += 2;}
};
main()
{
CParent* p = new CSon();
delete p[由于p被声明成父类指针,并且父类和子类的析构函数都非虚,因此delete操作只能根据p指针声明的类型来调用父类的析构函数];
std::cout << g_iCount << std::endl;
}
6.请问下面这段程序的输出结果是_A_:
A. 2,1, B. 2,2, C. 1,1, D. 1,2,
class CParent
{
public:
CParent() {}
virtual ~CParent() {}
public:
virtual void Print()
{ std::cout << "1,"; };
};
class CSon : public CParent
{
public:
CSon() {};
virtual ~CSon() {};
public:
void Print()
{ std::cout << "2,"; };
};
void Test1(CParent& oParent[这里是引用了一个外部对象,该对象的虚表不会发生变化])
{oParent.Print();}
void Test2(CParent oParent[这里会在栈空间内重新构造一个CParent类的对象,如果传入实参的类型与CParent不同则虚表会发生变化])
{oParent.Print();}
main()
{
CSon * p = new CSon();
Test1(*p); //这里只是一个引用
Test2(*p); //这里会在栈空间重新构造Cparent类对象
delete p;
}
7.请问下面这段程序的输出结果是_D_:
A. 2,1, B. 2,2, C. 1,1, D. 1,2,
class CParent
{
public:
CParent() {}
virtual ~CParent() {}
public:
void Print(){ std::cout << "1," ; };
};
class CSon : public CParent
{
public:
CSon() {}
virtual ~CSon() {}
public:
void Print(){ std::cout <Print();
pSon->Print();[由于父类和子类的Print函数都非虚,所以根据指针类型决定调用关系]
}
8.请问下面这段程序的输出结果是_C_:
A. 2,1, B. 2,2, C. 1,2, D. 1,1,
class CP
代码片段和文件信息
- 上一篇:MFC鼠标位置提示框
- 下一篇:连续存储空间管理仿真系统
相关资源
- 小型公司工资管理系统课程设计报告
- C++实现图书馆管理系统
- C++实现LZW压缩和解压
- Canny边缘检测C++代码
- C++ GUI Qt 4编程 (第二版) [超清版1
- 图像拼接使用VC++实现完成两幅又重叠
- VC++使用SQL查询操作数据库
- c++音频原始数据PCM采样率转换-源码和
- 数据结构 通讯录管理 课程设计C++单链
- Y.DanielLiang-c++全部的答案
- c++面向对象程序设计答案 陈维新 林小
- C++写的高效率排行榜功能 rank.zip
- c++ 课程设计商品库存管理系统
- 读取串口数据并画出曲线图的VC++程序
- 用WINSOCK实现聊天室的VC++程序设计
- 打砖块C++源码
- 基于IDL和Visual_C++的混合编程
- C++版学生管理系统
- C++自动取款机ATM源代码
- c++写的马尔科夫聚类算法MCL
- 学生学习成绩管理程序(C++版)
- 学生成绩管理系统 C、VC++
- 利用ICMP数据包探测网络中的活动主机
- 基础PageRank 算法 C++实现
- 哈希检索算法的C++实现源代码
- 精确计算24节气的c++类
- 角度的单位转换,从度到度分秒,C
- VS2010版c++PID控制算法详尽注释
- c++课程设计物流管理系统
- C++跟DCMTK显示DICOM医学图像
评论
共有 条评论