C++面试题(2)

C++面试题2_多态 C++多态让同一个接口(函数调用)在不同对象上表现出不同的行为静态多态靠编译器决议(重载、模板),动态多态靠运行时虚表机制(virtual)。(Polymorphism)是面向对象编程的三大特性之一(封装、继承、多态),它让同一个接口在不同对象上表现出不同的行为。void speak() override { cout << "喵喵喵" << endl;,则只会调用 Animal::~Animal(),不会调用 Dog::~Dog(),4.调用实际函数(Dog::speak()或cat::speak()) 阅读详情

1.输入一个n ,然后在屏幕上打印出NxN 的矩阵!

例如,输入一个3,则
1 2 3
8 9 4
7 6 5
输入一个4,则
1   2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

解:

#include <iostream>
#include<iomanip>
using namespace std;
int temp,m[30][30]={0,};
void Helix(int min,int max)
{    
 for(int i=min;i<max;i++)
 {
    m[min][i]=temp+i-min;
    m[i][max]=temp+(max-min)+i-min;
    m[max][i+1]=temp+3*(max-min)-(i-min+1);
    m[i+1][min]=temp+4*(max-min)-(i-min+1);
}
temp+=4*(max-min);    
}
int main()
{        
while(1)
{
    int N,min(0),max;
    cout<<" 输入螺旋矩阵的行列数N(1~20),输入字母 退出:";
    cin>>N;        
    if(N<1 || N>30)
        break;
    max=N-1;
    temp=1;
    if(N%2==1)
        m[N/2][N/2]=N*N;
    for(int i=0;i<N/2;i++)
        Helix(min++,max--);
    for(int k=0;k<N;k++)
    {
        for(int j=0;j<N;j++)
            cout<<setw(3)<<m[k][j]<<' ';
        cout<<endl;
    }
}
system("pause");
return 0;
    
}

2.如何打印出当前源文件的文件名以及源文件的当前行号?

 cout <<"FILE:"<<__FILE__<<endl
   <<"Line:"<<__LINE__<<endl
   <<"Time:"<<__TIME__<<endl
   <<"Date:"<<__DATE__<<endl;
3.如何判断一段程序是由C编译程序还是由C++编译程序编译的?

答:

1.检测头文件是否有iostream等使用类功能的文件头
2.检测是否有class等c++专用关键字
3.检测是否有两个同名函数(C++的重载)
4.关于注释,除了TC不支持//注释外,其它的C/C++编译器都支持
5.#ifdef   _cpluscplus这个也算一个标志
6.查看函数参数是否有引用&符号,这个也算C++一特征
7.c编译定义了: __STDC__

C++常见面试题-2.C++类相关 本文总结了C++类相关的重要面试知识点,包括: 类的三大特性:封装(隐藏实现细节)、继承(代码复用)和多态(运行时动态行为) 面向对象编程的意义和优势,如代码复用、封装性、可维护性等 不同继承方式(公有/保护/私有)的区别及访问规则 组合与聚合的概念及其相比继承的优缺点 构造函数和析构函数的作用及调用顺序(基类先构造后析构) 文章通过代码示例详细说明了核心概念,适合C++面试准备时快速回顾类相关的重要知识点。 阅读详情

相关推荐

CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?

接着,它创建了一个 Player 对象,并使用 protobuf.js 提供的 API 对其进行序列化和反序列化操作。其中,name 和 level 是普通的字段,items 是一个 repeated 字段,表示它可以包含多个值。在 Cocos Creator 中使用 protobuf.js,我们需要先加载 .proto 文件,然后使用 protobuf.js 提供的 API 进行序列化和反序列化操作。JSON和XML是文本格式,更易于阅读和调试,而且在对人类友好的接口和数据交换上更为常见和广泛支持。

w风雨无阻w的专栏 2628

2 c/c++面试题

注意:栈区和堆区,堆区的 存储是按照随意存储,而栈区是先进后出,栈由编译器自动分配释放,存放函数的参数值,局部变量的值等。操作对象不同,strcpy的两个操作对象都为字符串,sprintf操作对象可以是多种数据类型,目的的操作对象是字符串,memcpy的两个对象是任意可以操作的内存地址,并不限于任何数据类型。队列和栈都是先线性存储结构,但是两者的插入与删除数据都是不同的操作,队列是先进先出的数据结构,栈是先进后出的数据结构。执行效率不同,memcpy最高,strcpy次之,sprintf的效率最低。

wt20050610的博客 871

字节跳动程序媛教你如何刷算法题:面试手撕代码我就没怕过

本人上一次刷题还是大一的C语言期末考试……但是面试中算法考核截止上岸前一直保持着100%正确率的光辉记录。 本文将给你指明一条刷题的决胜指南。并从算法的重要性、题库的选择以及刷题的三大步骤分别进行讲解,彻底解决你所有关于面试算法所有的困扰。

Stay Hungry Stay Foolish 求知若饥 虚心若愚 2万+

C++面试题整理 2

移动语义即std::move关键字的使用,配合移动构造,可以将临时变量直接进行构造,节省一次赋值操作和临时变量的析构,提高了效率。

Stephen_2022的博客 780

避坑指南:大疆智图集群建模中5个90%新手会踩的雷(附错误日志分析)

本文针对大疆智图集群建模功能,总结了新手在部署和运行时极易遇到的五个常见问题,包括共享目录权限与路径、主从节点版本一致性、临时存储路径设置、网络与防火墙配置以及错误日志分析。文章结合具体错误日志,提供了详细的排查步骤和解决方案,旨在帮助用户快速定位并解决问题,充分发挥集群建模的效率优势。

weixin_29238147的博客 335

API安全攻防实战:从信息搜集到漏洞利用的完整路径

本文详细解析了API安全攻防实战的全过程,从信息搜集到漏洞利用,涵盖了渗透测试的核心技巧和工具使用。通过真实案例展示如何发现和利用API漏洞,如HTTP方法滥用、内容类型转换攻击等,并提供企业级防御策略和测试心得,帮助安全研究人员提升API安全防护能力。

weixin_30394981的博客 434

C++面试题2

<br />char str1[]       = "abc";<br />char str2[]       = "abc";<br />const char str3[] = "abc"; <br />const char str4[] = "abc"; <br />const char* str5 = "abc";<br />const char* str6 = "abc";<br />cout << boolalpha << ( str1==str2 ) << endl; // 输出什么? fals

scollins的专栏 977

从无人机到机械臂:深入聊聊LQR和LQG在实际项目里的那些‘坑’与最佳实践

本文深入探讨了LQR和LQG在无人机和机械臂等实际项目中的应用挑战与最佳实践。从系统建模的妥协艺术到调参的系统化方法,再到离散化的细节处理,文章分享了工程实践中的宝贵经验。特别强调了如何应对传感器噪声、未建模动态等现实问题,并提供了实用的调试工具和诊断流程,帮助工程师避免常见陷阱,提升控制系统的稳定性和性能。

weixin_28683391的博客 386

c++ 面试题2

1、 谈谈你做过的项目,你主要负责哪个模块,代码量是多大(除去VC自动生成的那些代码) 2、 参与项目的人数是多少? 5、 谈谈你对C++三个特点的理解(简单描述一下)。 6、 为什么要封装,如何解释他的用意。 7、 多态的实现机制。 8、 纯虚函数的概念,有什么作用。 9、 友元函数的优点和缺点。 10、 TCP/IP中服务器

zhanghaotian2011的专栏 707

从零开始:PLUMED与GROMACS整合安装全攻略

本文详细介绍了如何从零开始整合安装PLUMED与GROMACS,包括系统环境检查、MPI配置、PLUMED编译安装、GROMACS补丁应用及常见问题解决方案。通过本教程,研究人员可以快速完成分子动力学模拟工具的整合安装,实现增强采样和自由能计算功能。

weixin_42520796的博客 292

RexUniNLU零样本通用自然语言理解:nlp_deberta_rex-uninlu_chinese-base模型实战解析

本文深入解析了RexUniNLU零样本通用自然语言理解模型(nlp_deberta_rex-uninlu_chinese-base)的实战应用。通过详细的环境配置、模型加载及实战案例,展示了该模型在零样本场景下的强大能力,如实体识别和复杂关系抽取,显著提升NLP任务效率。

weixin_29088655的博客 250

c++面试题2

1. 指出以下变量数据存储位置 全局变量int(*g_pFun)(int);g_pFun=myFunction;g_pFun存储的位置(A ) 为全局的函数指针 指向空间的位置( B) 所有函数代码位于TEXT段 函数内部变量 static int nCount; ( A) 静态变量总是在DATA段或BSS段中 函数内部变量 char p[]=”AAA”; p...

vivi_12的博客 375

VMware下载与安装

一、VMware下载 二、VMware安装

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 315

c/c++面试题2

1.已知strcpy函数的原型是:        char * strcpy(char * strDest,const char * strSrc);    1.不调用库函数,实现strcpy函数。    2.解释为什么要返回char *。解说:    1.strcpy的实现代码        char * strcpy(char * strDest,const char * strSrc) 

沧海横流方显英雄本色 1787

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C,C++面试题之2

华为面试题及答案   1、局部变量能否和全局变量重名   答:能,局部会屏蔽全局。要用全局变量,需要使用"::"   局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。   2、如何引用一个已经定义过的

bee-factory 3936

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

2 C++基础-面试题

本文总结了C++核心知识点与STL相关内容,主要涵盖以下几个部分: C++基础知识 C与C++的区别:面向对象特性、内存管理、标准库等方面的差异 内存管理:malloc/new区别、Linux进程内存布局 引用与类型转换:引用本质、四种类型转换方式 函数特性:重载规则、多态实现原理 面向对象编程 封装与访问控制:public/protected/private权限 继承:继承方式、构造顺序、菱形继承问题 多态:虚函数表机制、抽象类、虚析构函数必要性 STL标准模板库 六大组件:容器、算法、迭代器、仿函数等

bdarkray的博客 473

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C++经典面试题 2

31,写一个"标准"宏MIN,这个宏输入两个参数并返回较小的一个 答:面试者注意谨慎将宏定义中的“参数”和整个宏用括号括起来 #define      MIN(A, B)     ((A)   32,用一个宏定义FIND求一个结构体struc中某个变量相对struc的偏移量 答:  #define FIND(struc, e)  (size_t)&( ((struc

小人物的草稿本 1643

c++面试题(2)

1、指出下面的错误 int main() { char* a = "abcdefgh"; //指正a指向常量区 a[1] = "B" ; //修改了常量,古故误; printf("%s\n",a); }//后果:段错误 2、线程和进程的区别。 答:进程:具有独立功能的程序关于某个数据上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。 线程:线程是进程的实体,是

刘崇 355
上一篇: C++面试题(1)
下一篇: C++面试题(3)
manplus
博客等级 码龄22年 6粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值