`
jimmy_c
  • 浏览: 15176 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

衰落中的C++

阅读更多

不知不觉之中时间过了几年,忽然发觉C/C++在程序员中的地位已经大不如前了。搜索一下SourceForge,发现现在java和C#的项目当真不少,而C++的项目叫得出名的似乎还是原来那些老帮菜,没有多少新意。

这几天公司面试程序员,我出了几道c/c++的试题。说实话,我是非常不喜欢在面试时给人出太详细的笔试题的,但是因为招的人有c++的要求,就挑了几个我个人认为非常基础的问题考了一下,结果让人很吃惊,很多自称“精通C++”的孩子,居然连最简单的问题也会答错,不少还是清华出来的有工作经验的本科生,硕士生。贴出来让大家看看,是不是我的要求太高了。

1. 声明一个函数指针
2. int (*A)[];和
   int *A [] 有何不同?
3. C++中,struct是否可以有构造/析构函数?struct和class有何不同?
4. 声明一个模板类
5. #include <stdio.h>
   class A
   {
   public:
     void Func() { printf("A\n"); }
   };

   class B : public A
   {
   public:
     void Func() { printf("B\n"); }
   };

   int main()
   {
      A* a = new B();
      a->Func();
      delete a;
      return 0;
   }
6. 什么是虚函数表?
7. 写一个简单的递归函数计算N!
   int Factorial(int n)
   {
   }

   int main()
   {
     int n;
     cin >> n;
     printf("N!=%d\n", Factorial(n));
     return 0;
   }

8. 解释关键字:volatile; const

分享到:
评论
11 楼 林杰杰 2007-10-25  
哈哈,有个笔误。
10 楼 林杰杰 2007-10-25  
哈哈,那几个面试题我都做了,看看我说的对不对。
1. 声明一个函数指针
如:void (*fp_print)(char *s)
声明了一个函数指针,它指向一个接受一个char*型的参数,并且无返回值的函数。

2. int (*A)[];和
   int *A [] 有何不同?
前者声明了一个指针,它指向了一个以大小未知的数组为元素的数组。
后者声明了一个大小未知的以int*型为元素的数组。

3. C++中,struct是否可以有构造/析构函数?struct和class有何不同?
可以有。struct/class不同的地方是他们成员的默认访问权限不同,struct默认public,class默认private。

4. 声明一个模板类
template < typename T >
class MyClass;

5. #include
   class A
   {
   public:
     void Func() { printf("A\n"); }
   };

   class B : public A
   {
   public:
     void Func() { printf("B\n"); }
   };

   int main()
   {
      A* a = new B();
      a->Func();
      delete a;
      return 0;
   }

输出:A(换行)

6. 什么是虚函数表?
虚函数表实际上是处于类头部的一个函数入口地址表,用于实现在运行时确定函数入口,实现多态。

7. 写一个简单的递归函数计算N!
   int Factorial(int n)
   {
   }

   int main()
   {
     int n;
     cin >> n;
     printf("N!=%d\n", Factorial(n));
     return 0;
   }

int Factorial (int n)
{
return n > 1 ? n * Factorial(n - 1) * n : 1;
}

8. 解释关键字:volatile; const
volatile是指被修饰的变量随时会被修改,要求编译器不要对这个变量作任何优化。
const表示被修饰的变量不能被修改,是一个常量。当它放在类成员函数的参数列表后面时,表示这个成员函数不会修改所在类的其它成员变量。

大家给评个分。
9 楼 王者之剑 2007-10-24  
几年不用都忘光了
8 楼 lova 2007-10-24  
学习计算机技术,应该以市场需求和基础开发为导向,不能太过于轻浮,势力!
7 楼 bigpanda 2007-10-09  
写简历吹吹牛无可厚非,现在毕竟是要自我推销,打造品牌的时代。

不过既然写精通,就好好花花时间练练内功,给人揭穿了就丢脸了。说句实在话,大多数面试题都不难,只要粗通,就可过关了。

我也想好好再敲打敲打Assembler,不过没空。一大梦想是有天经济自由了,给FreeBSD做做贡献去。
6 楼 mathgl 2007-10-08  
hehe it is the same for assembler
however, when engaging embedded development, your skills in assembler is still helpful, and means good pay sometimes.
5 楼 zzg810314 2007-10-07  
这年头简历应该怎么写,不写精通简历没人看,写了精通又被人当成吹牛,没个中间过渡啊!的确还精通一门语言真的很难
4 楼 oldrev 2007-10-07  
下次见到敢号称“精通C++”的人甭废话直接抽就行了
3 楼 Eastsun 2007-10-05  
基础语言C就够了,C++当基础...太奢侈了
2 楼 ottojiang 2007-10-05  
我觉得c/c++应该作为基础语言学习,虽然不一定用来做开发
1 楼 bigpanda 2007-10-05  
时代在发展,有更新更强大的语言了呗。

要是“精通C++”而那几个问题都答不出来的话,买块豆腐撞死吧。

相关推荐

    使用C++仿真瑞利信道获得数据,再通过matlab画图

    首先用C++仿真方法或其它方法模拟多普勒扩展的频谱和Rayleigh衰落信道;然后利用Rayleigh衰落仿真器模拟具有多径时延扩展的衰落信道(即频率选择性衰落信道)使用c++仿真瑞利信道获得信道数据,使用“Y. R. Zheng ...

    仿真衰落信道的Matlab代码

    在通信系统设计中,模拟真实的通信环境至关重要,尤其是在研究无线通信时,衰落信道的仿真扮演了关键角色。本文将深入探讨“仿真衰落信道的Matlab代码”这一主题,包括它所涉及的核心概念、重要性以及具体实现方法。...

    无线通信系统仿真--C++实用模型包含源代码

    在无线通信系统仿真中,C++可以用于构建复杂的数学模型,模拟信号传输、接收、处理等多个环节,同时,C++支持多线程和并行计算,这在处理大规模的通信网络仿真时尤为重要。 1. **信号处理**:在无线通信中,信号的...

    c++小型开发平台

    C语言从Unix的兴起一直到现在,在业内历经40年而从未衰落过。C语言作为非常古老的高级语言,至今风行了40年,从未过时。而且C语言是很多主流开发语言的母体,.NET的底层,Java的底层都是C开发的,虽然很多新语言...

    无线通信系统 C++代码

    在无线通信系统中,C++是一种常用的编程语言,用于实现复杂的算法和系统模拟。本项目提供的C++代码着重于无线通信的基本操作,如调制、解调和频谱分析,这些都是无线通信系统中的核心概念。 **调制与解调** 调制是...

    QPSK的性能仿真(c++程序)

    本项目是基于C++实现的QPSK性能仿真,目的是在无编码和译码的情况下,模拟QPSK在实际信道环境中的表现,主要关注两个关键性能指标:误比特率(Bit Error Rate, BER)和误符号率(Symbol Error Rate, SER)。...

    pudncelluarcpp.rar

    这个项目旨在通过编程技术来模拟移动通信中的关键现象,包括大尺度衰落,如路径损耗和阴影衰落,并且能够模拟用户在蜂窝网络中的移动轨迹。 【描述】中提到的“大尺度衰落”是无线通信中的一个重要概念,它指的是...

    ofdm-rayleigh衰落信道仿真程序

    Rayleigh衰落信道是无线通信中常见的信道模型,尤其在非视距(NLOS)传播环境下,它能模拟多径传播导致的信号衰落情况。 本压缩包文件提供了一个OFDM在Rayleigh衰落信道下的仿真程序,这对于理解和研究无线通信系统...

    无线通信系统仿真 C++实用模型

    C++作为一门高级编程语言,因其强大的性能和灵活的应用性,被广泛应用于无线通信系统仿真模型的构建中。本知识点将详细介绍无线通信系统仿真的C++实用模型,包括解调制、编解码等通信技术。 首先,无线通信系统仿真...

    无线通信系统仿真——C++实用模型

    通过对不同类型的无线信道(如自由空间传播、多径衰落等)进行建模,可以更准确地预测信号传输过程中的变化情况。 #### 2. 编码与调制技术 编码和调制技术对于提高无线通信系统的可靠性和传输效率至关重要。常见的...

    pracsim:无线通信系统仿真-C++实用模型源代码

    信道建模是pracsim的另一大亮点,它包括了各种实际环境中的信道模型,如衰落信道(快衰落和慢衰落)、多径效应、阴影衰落等。这些模型可以帮助研究人员在未实际部署设备的情况下,预测和评估系统在复杂环境下的表现...

    无线通信系统仿真:C++实用模型

    2. 信道建模:讨论各种信道特性,如衰落、多径传播、干扰和噪声,以及相应的仿真方法。 3. 接收机仿真:包括解调、信号恢复和噪声过滤等步骤的仿真。 4. 多用户系统仿真:模拟多用户环境下资源分配、同步和干扰消除...

    OFDM的C++仿真

    在本项目中,我们通过C++编程语言,结合MFC(Microsoft Foundation Classes)库,实现了一个OFDM通信系统的仿真。 **OFDM系统的基本组成部分** 1. **符号生成**: OFDM符号由多个子载波组成,每个子载波上装载数据...

    LTE上行链路仿真(基于ITPP库C++语言编写)

    在本项目中,"LTE上行链路仿真(基于ITPP库C++语言编写)"是用C++编程语言实现的,利用了IT++库,这是一个强大的信号处理和通信系统建模工具。 首先,让我们深入了解LTE上行链路仿真中的关键部分: 1. **发射机...

    自适应信道均衡C++源程序

    在通信系统中,信号在传输过程中常常会受到各种噪声、干扰和多径衰落的影响,导致接收端的信号质量下降。为了解决这个问题,自适应信道均衡技术应运而生。自适应信道均衡是一种重要的数字信号处理方法,它可以有效地...

    基于C++语言的自适应均衡滤波

    在C++中实现LMS算法时,需要定义滤波器结构(如FIR滤波器),并实现误差计算、系数更新等关键步骤。 C++语言以其高效、灵活和面向对象的特性,非常适合实现这样的复杂算法。在C++中编写自适应均衡滤波器,可以创建...

    OFDM_OFDM通信系统仿真_OFDMC语言_ofdm系统_ofdm_C++_

    OFDM(Orthogonal Frequency Division Multiplexing...通过这个项目,学习者不仅可以理解OFDM系统的工作原理,还能掌握C++编程在实现通信系统中的应用。这对于深入理解现代通信技术,以及提升软件开发能力都大有裨益。

    msk.zip_C++信号调制_MSK信号_MSK调制_VC调制信号_msk c++

    9. **算法优化**:在C++中实现高效的计算算法,考虑性能和内存使用。 压缩包中的“msk.txt”文件可能是源代码、算法解释、实验结果或者说明文档。为了更深入地理解和应用这些知识,你需要打开这个文本文件查看具体...

    空时比特交织编码调制C++代码

    STBICM的主要目标是利用空间多样性和时间多样性来提升系统的误码率性能,特别是在多径衰落的无线环境中。 1. **空时编码**:空时编码是利用多个天线发送经过编码的信号,通过不同路径到达接收端,从而利用空间上的...

Global site tag (gtag.js) - Google Analytics