2012各大公司的C++试题

2023-10-27

那么多C++试题,其实最关键的是要知道考察的知识点在哪里。哎,应该好好重新看看《effective c++》了。

网易3道C++试题:

题目1:

class A
{
public:
    A(int j):i(j)
    {
        fun1();           //here:在构造函数中调用了虚函数
    }
    ~A()
    {
    }
    void fun1()
       {
           i *= 10;
           fun2();
       }
    int getValue(){
    	return i;
    }
protected:
    virtual void fun2()
    {
        i++;
    }
private:
    int i;
};

class B:public A
{
public:
    B(int j):A(j)
    {
    }
    virtual ~B()
    {
    }
    void fun1()
      {
          i *= 100;
          fun2();
      }
protected:
    void fun2()
    {
        i += 2;
    }
private:
    int i;
};
int main()
{
     A* p = new B(1);
     cout<<p->getValue()<<endl;
     delete p;
     return 0;
};

考点:在构造函数中调用了虚函数。

根据《effective c++》条款09:绝不要在构造函数和析构函数中调用虚函数,因为:这类调用从不下降至子类。此时,对象在derived class调用之前,绝不会成为一个derived对象。

所以,答案是11(而不是12)。

题目2:

class A{
public:
	virtual int fun(int i = 1);
};
int A::fun(int i){return i + 1;}
class B:public A{
public:
	virtual int fun(int i = 10);
};
int B::fun(int i){return i;}
int main()
{
//    A* p = new B(1);
//    cout<<p->getValue()<<endl;
//    delete p;
	A *p = new B();
	cout << p->fun();
    return 0;
};

考点:哎,虚函数是动态绑定的,但是默认参数是静态绑定的。

所以,答案是1。而不是10。靠!

题目三:

     考察C++中static 成员、const成员、static const成员的初始化时机:

在C++中,static静态成员变量不能在类的内部初始化。在类的内部只是声明,定义必须在类定义体的外部,通常在类的实现文件中初始化,如:double Account::Rate=2.25;static关键字只能用于类定义体内部的声明中,定义时不能标示为static

      在C++中,const成员变量也不能在类定义处初始化,只能通过构造函数初始化列表进行,并且必须有构造函数。

      const数据成员 只在某个对象生存期内是常量,而对于整个类而言却是可变的因为类可以创建多个对象,不同的对象其const数据成员的值可以不同。所以不能在类的声明中初始化const数据成员,因为类的对象没被创建时,编译器不知道const数据成员的值是什么。

      const数据成员的初始化只能在类的构造函数的初始化列表中进行。要想建立在整个类中都恒定的常量,应该用类中的枚举常量来实现,或者static cosnt。

       一个例子如下:

class Test  
{  
public:  
      Test():a(0){}  
      enum {size1=100,size2=200};  
private:  
      const int a;//只能在构造函数初始化列表中初始化  
       static int b;//在类的实现文件中定义并初始化  
      const static int c;//与 static const int c;相同。  
};  
  
int Test::b=0;//static成员变量不能在构造函数初始化列表中初始化,因为它不属于某个对象。  
cosnt int Test::c=0;//注意:给静态成员变量赋值时,不需要加static修饰符。但要加cosnt 
靠,还是做错了。

腾讯笔试题目

#include <iostream>
using namespace std;

class A
{
public:
        int m_a;
        A():m_a(1){}
        virtual void f(){}
};

class B:public A
{
public:
        int m_a;
        B():m_a(2){}
        virtual void f(){}
};

int main()
{
        A *a=new B();
        B *b=dynamic_cast<B*>(a);
        cout<<b->m_a<<endl;

        return 0;
}

主要是引申dynamic_cast 和static_cast的区别,自己看看百科吧:

http://baike.baidu.com/view/1745213.htm。

dynamic_cast的类一定要加virtual函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2012各大公司的C++试题 的相关文章

  • Qt 图表和数据可视化小部件

    我已经安装了 Qt 5 7 来尝试 Qt 图表和 Qt 数据可视化 但我在 Qt Designer 和 Qt Creator 中都找不到新的小部件 有什么建议我应该做什么才能让新的小部件出现在设计器中 我今天遇到了完全相同的问题 默认情况下
  • 结构体如何存储在内存中?

    我有一个struct iof header在我的代码中 我确定它的宽度是 24 字节 我执行 sizeof iof header 它返回 32 字节宽 问题1为什么是 32 字节宽而不是 24 字节宽 问题2包括其成员在内 结构体如何存储在
  • 深拷贝和动态转换 unique_ptr

    假设我有一个如下所示的类 class A virtual A class B public A class C public A 我还有一个 unique ptr 向量 它是这样声明的 std vector
  • 警告 C4800:“int”:强制值为 bool“true”或“false”(性能警告)

    我的代码中有这个问题 bool CBase isNumber return id MID NUMBER bool CBase isVar return id MID VARIABLE bool CBase isSymbol return i
  • Monotouch全局异常处理

    我在野外发现了一只令人讨厌的虫子 但我无法确定它的具体情况 有没有办法拥有全局 Try Catch 块 或者有办法处理 Monotouch 中未处理的任何异常 我可以包起来吗UIApplication Main args 在 try cat
  • opencv中如何去除二值图像噪声?

    将图像转换为二值图像 黑白 后如果有任何噪音怎么办 我消除了那些不需要的噪音 您可以看到下图的黑色区域内有一些白噪声 我该如何去除噪声 使用opencv http img857 imageshack us img857 999 blackn
  • 控制台应用程序中使用 Unicode 字符的 _tprintf

    我正在从 Unicode 构建的控制台应用程序 使用 C 和 Visual Studio 2008 执行这个简单的输出 此代码旨在在 Windows 上运行 tprintf L Some sample string n 一切正常 但是如果我
  • 如何自定义 Google 测试失败消息?

    我编写了一个如下所示的 Google 测试 它将一些计算值与 CSV 文件中预期存储的值进行比较 class SampleTest public testing Test public void setupFile const std st
  • C# 枚举到字符串自动转换?

    是否可以让编译器自动将我的 Enum 值转换为字符串 这样我就可以避免每次都显式调用 ToString 方法 这是我想做的一个例子 enum Rank A B C Rank myRank Rank A string myString Ran
  • 如何将STL容器数据转储到gdb中?

    我无法在 gdb 中转储 STL 无序映射容器值 变量类型是 std unordered map var 我的 gdb 版本 7 7 1 GDB配置 configure host x86 64 linux gnu target x86 64
  • 更改 Xamarin.Forms 应用中顶部栏和底部栏(ControlsBar、StatusBar)的颜色

    无论如何 即使后面需要特定于平台的代码 也可以更改顶部栏 蓝色的 和底部栏 黑色的 的颜色吗 我希望添加对浅色和深色模式的支持 因此我希望能够在运行时更改它 有可能的 Android Using Window SetStatusBarCol
  • 使用数据绑定,如何将包含表情符号的文本绑定到标签并使其正确显示?

    我正在编写一个应用程序来连接 WordPress BuddyPress API 该应用程序将允许用户通过 API 相互发送消息 当这些消息包含表情符号时 我很难正确显示它们 以下是 API 返回的消息文本的简短示例 Hi x1f642 ho
  • 传递数组时在 C 中的函数参数中强制指定数组大小

    Context 在 C 中 我有一个以数组作为参数的函数 该参数用作该函数的输出 输出的大小始终相同 我会 让阅读代码的人清楚所需的大小 不过它已经在函数注释中了 理想情况下 编译会输出警告或错误 这样我就可以在编译时而不是运行时防止出现问
  • valgrind 在 Raspberry Pi 上返回未处理的指令

    我最近一直在尝试在运行 Debian GNU Linux7 0 喘息 的树莓派 型号 b 上使用 valgrind 来调试分段错误 每次我在编译的 C 程序上运行 valgrind 时 都会得到类似以下内容的信息 disInstr arm
  • 如何同步nosql db(ravendb)中的更改

    我已经开始在 RavenDB 的示例上学习 NoSQL 我从一个最简单的模型开始 假设我们有由用户创建的主题 public class Topic public string Id get protected set public stri
  • 选择合适的IDE

    您会推荐使用以下哪种 IDE 语言来在 Windows 下开发涉及识别手势并与操作系统交互的项目 我将使用 OpenCV 库来执行图像处理任务 之后 我将使用 win32 API 或 NET 框架与操作系统交互 具体取决于您建议的工具 性能
  • 连接到没有元数据的网络服务

    我想连接到此网络服务 https training api temando com schema 2009 06 server wsdl https training api temando com schema 2009 06 serve
  • 为什么在构造函数中设置字段是(或不是)线程安全的?

    假设您有一个像这样的简单类 class MyClass private readonly int a private int b public MyClass int a int b this a a this b b public int
  • 如何在 C 中创建最低有效位设置为 1 的掩码

    这个功能如何运作 最低有效 n 位设置为 1 的掩码 Example n 6 gt 0x2F n 17 gt 0x1FFFF 我根本不明白这些 尤其是 n 6 gt 0x2F 另外 什么是面膜 通常的方法是采取1 并将其左移n位 这会给你类
  • 在windows + opengl中选择图形设备

    我知道如何使用 openGL 打开窗口 使用 Win32 或其他工具包 但是当系统有2块显卡时 如何选择要渲染的图形设备 我的编程语言是 C 我专注于 Windows 但任何示例都将受到欢迎 编辑 也许更好地解释我的问题是个好主意 以便添加

随机推荐

  • 毕业项目SSM框架配置文件之applicationContext.xml

    applicationContext xml
  • 32. 最长有效括号

    32 最长有效括号 题目描述 给你一个只包含 和 的字符串 找出最长有效 格式正确且连续 括号子串的长度 示例1 输入 s 输出 2 解释 最长有效括号子串是 示例2 输入 s 输出 4 解释 最长有效括号子串是 示例3 输入 s 输出 0
  • C/C++中分离(detach)线程的陷阱

    C C 中分离 detach 线程的陷阱 版权声明 线程资源回收 pthread join pthread detach 什么时候分离线程会存在陷阱 方法论 既使用quick exit 又需要析构 PS 版权声明 本文为博主原创文章 未经博
  • QEventLoop 的使用

    背景 事件循环本质上就是一个无限循环 不停地去获取下一个事件 然后做出处理 直到 quit 事件发生 循环结束 QEventLoop QEventLoop 即 Qt 中的事件循环类 其中 exec 是启动事件循环 调用 exec 以后 调用
  • 在宿主机查看docker使用cpu、内存、网络、io情况

    使用命令 docker stats OPTIONS CONTAINER docker stats命令返回一个用于运行容器的实时数据流 要将数据限制到一个或多个特定的容器 可以指定一个由空格分隔的容器名称或ID的列表 您也可以指定一个已停止的
  • Guava缓存(一)基础

    1 概述 1 1 简介 Guava缓存 谷歌开源的一种本地缓存 使用本节点的内存来存储的 实现原理类似于ConcurrentHashMap 使用多个segments方式的细粒度锁 在保证线程安全的同时 支持高并发场景需求 同时支持多种类型的
  • linux并发服务器 —— IO多路复用(八)

    半关闭 端口复用 半关闭只能实现数据单方向的传输 当TCP 接中A向 B 发送 FIN 请求关闭 另一端 B 回应ACK 之后 A 端进入 FIN WAIT 2 状态 并没有立即发送 FIN 给 A A 方处于半连接状态 半开关 此时 A
  • 热门免费高效scrum敏捷项目管理工具

    Scrum中非常强调公开 透明 直接有效的沟通 这也是 可视化的管理工具 在敏捷开发中如此重要的原因之一 通过 可视化的管理工具 让所有人直观的看到需求 故事 任务之间的流转状态 可以使团队成员更加快速适应敏捷开发流程 Leangoo领歌
  • Elasticsearch高可用和路由规则

    文章目录 Lucene Elasticsearch ELK stack Elasticsearch集群和分片路由 高可用 Lucene 迄今为止最先进 性能最好的 功能最全的搜素引擎库 Elasticsearch 基于Apache Luce
  • flutter之Align控件

    Align控件即对齐控件 能将子控件所指定方式对齐 并根据子控件的大小调整自己的大小 对齐子控件的方式 bottomCenter 0 5 1 0 底部中心 bottomLeft 0 0 1 0 左下角 bottomRight 1 0 1 0
  • Unity机器学习2 ML-Agents第一个例子

    Unity机器学习2 ML Agents第一个例子 上一节我们安装了机器学习mlagents的开发环境 本节我们创建第一个例子 了解什么是机器学习 我们的例子很简单 就是让机器人自主移动到目标位置 不能移动到地板范围外 首先我们来简单的了解
  • SpringBoot整合ElasticSearch实现模糊查询,排序,分页,高亮

    目录 前言 1 框架集成 SpringData 整体介绍 1 1Spring Data Elasticsearch 介绍 2 框架集成Spring Data Elasticsearch 2 1版本说明 2 2 idea创建一个springb
  • js 给图片添加水印

    如何在图片上添加水印 1 把图片或者图片文件转成image元素 2 把转成的image转成canvas 3 在生成的canvas中添加水印 先看效果 1 把图片或者图片文件转成image元素 function urlToImg url re
  • 哨向 Mika & Lelush 2

    Report On Sentinels Guides of Atypical Combinations 非典型性哨兵向导结合报告 Mika x Lelush 2 亲爱的你躲在哪里发呆 上
  • Java并发(五) JUC - 类汇总和学习指南

    提示 本文对J U C进行知识体系解读 后续的文章还针对 几乎所有的核心的类以及常用的工具类作了详细的解读 如果没有时间详细阅读相关章节 可以跟着本文站在一定的高度了解JUC下包的设计和实现 同时对重要的章节提供跳转链接 您可以链接过去详读
  • 国家集训队论文分类整理

    国家集训队论文分类整理 组合数学 计数与统计 2001 符文杰 P lya原理及其应用 2003 许智磊 浅谈补集转化思想在统计问题中的应用 2007 周冬 生成树的计数及其应用 2008 陈瑜希 P lya计数法的应用 数位问题 2009
  • LPDDR4协议规范之 (四)命令和时序

    LPDDR4协议规范之 四 命令和时序 命令真值表 激活操作 读写访问操作 读前沿和后沿 突发读取操作流程 读操作时序 写前沿和后沿 突发写操作 写入均衡 待更新 命令真值表 激活操作 ACTIVATE命令由两个连续命令组成 Activat
  • 【华为OD机试 2023 B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • [创业-38]:公司、企业、组织的本质与层次

    目录 前言 公司是什么 公司的本质是什么 层次一 自身闭环系统 闭环 不是 封闭 1 1 公司是一种组织 自身的形态角度看 1 2 公司的本质是满足客户的需求 输入 存在的目的 1 3 公司的本质是解决社会和客户的问题 输入 存在的目的 1
  • 2012各大公司的C++试题

    那么多C 试题 其实最关键的是要知道考察的知识点在哪里 哎 应该好好重新看看 effective c 了 网易3道C 试题 题目1 class A public A int j i j fun1 here 在构造函数中调用了虚函数 A vo