
C/C++面试题
imxiangzi
这个作者很懒,什么都没留下…
展开
-
C++面试题之sizeof面试题
//sizeof面试题1.cpp //What is the output of the following code? //[美国某著名计算机软硬件公司面试题] #include #include #include using namespace std; struct{ short a1; short a2; short a3; }A; struct{ l转载 2015-11-12 09:48:55 · 1235 阅读 · 1 评论 -
C++ 构造函数和析构函数是否可以继承?
先看一个例子: [cpp] view plaincopy #include class A { public: A() { ::std::cout "constructor: A" // 构造函数不能为 virtual A(int aa): a(aa) { ::std::cout "转载 2015-11-12 10:51:55 · 1218 阅读 · 0 评论 -
我准备的C++面试题
1.new、delete、malloc、free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。 malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。 它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言, 光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,转载 2015-11-14 16:49:44 · 690 阅读 · 0 评论 -
C++程序习题-将字符串按逆序输出[1.15]
输入一个字符串,把其中的字符按逆序输出,如输入LIGHT,输出为THGIL,要求用string方法. #include iostream> #include string> using namespace std; void reverse_print(string); int main() { string str; cin >>转载 2015-11-17 22:34:51 · 3259 阅读 · 0 评论 -
C++ Primer Plus(第五版)第五章编程练习题6(关于string难点哦)
//6.设计一个名为car的结构,用它存储下述有关汽车的信息: //生产商(存储在字符数组或string对象中的字符串),生产年份(整数). //编写一个程序,向用户询问有多少辆汽车.随后,程序new来创建一个 //由相应数量的car结构组成的动态数组.接下来,程序提示用户输入 //每辆车的生产商(可能由多个单词组成)和年份信息.请注意,这需要特别 //小心,因为它将交替转载 2015-11-17 22:48:10 · 1314 阅读 · 0 评论 -
C++面试题(四)——智能指针的原理和实现
C++面试题(一)、(二)和(三)都搞定的话,恭喜你来到这里,这基本就是c++面试题的最后一波了。 1,你知道智能指针吗?智能指针的原理。 2,常用的智能指针。 3,智能指针的实现。 1答案:智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针。智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放,转载 2015-11-17 22:31:40 · 1548 阅读 · 0 评论 -
C++面试题(二)——自己实现一个String类
C++面试题(二)——自己实现一个String类 tanglu http://blog.youkuaiyun.com/worldwindjp/ 实现一个自己的String类是一道考验C++基础知识的好题。 至少要能实现以下:构造函数,析构函数,拷贝构造函数(copy constructor),重载赋值操作符(copy assignment opera转载 2015-11-17 22:32:20 · 666 阅读 · 0 评论 -
《C++ Primer》学习笔记:习题9.39 string对象中单词统计
题目: 已知有如下string对象: string line1 = "We were her pride of 10 she named us:"; string line2 = "Benjamin, Phoenix, the Prodigal"; string line3 = "and perspicacious pacific Suzanne"; string sentenc转载 2015-11-17 22:49:00 · 690 阅读 · 0 评论 -
C++面试题(一)——基础概念篇
C++面试题——基础概念篇 唐璐 http://blog.youkuaiyun.com/worldwindjp/ 面试C++程序员的时候一般都是3板斧,先是基础问答,然后一顿虚函数、虚函数表、纯虚函数、抽象类、虚函数和析构函数、虚函数和构造函数。接着拷贝构造函数、操作符重载、下面是STL,最后是智能指针。 都能挺过去那基本知识这关应该算是过了,下面就是项目转载 2015-11-17 22:30:48 · 504 阅读 · 0 评论 -
C++经典面试题之---String类
前段时间,S2的徐*同学去了一家作核能的企业做软件测试,在应聘的时候出了这样一道题目。 写出string类的构造函数,拷贝构造函数,析构函数,赋值函数。 这道题目是一道相当经典的C++开发题目,是面试C++程序员时经常考的,但这次无奈徐*碰上了,为什么呢?因为徐* 入职后作的是白盒测试。 #include using namespace std; class Strin转载 2015-11-17 22:33:41 · 970 阅读 · 0 评论 -
一道关于C++虚函数和多继承的面试题
问题:假设有两个基类A和B,它们有一个相同签名的虚函数void foo(), 但是拥有不同的实现。现在要求创建一个新类C,它同时继承A和B,也有相同的签名的函数void foo(), 并能分别对A和B中的foo函数进行重写(overwrite)。 已知条件对应的代码如下: #include using namespace std; class A { public:转载 2015-11-18 11:51:14 · 922 阅读 · 0 评论 -
[转]虚析构函数问题:为什么要将基类的的析构函数设成虚的?
某优快云网友问: class A { public: ~A() { cout } }; class B:public A { public: virtual ~B() { cout } }; class C:public B { public:转载 2015-11-12 10:09:44 · 407 阅读 · 0 评论 -
sizeof笔试题
http://www.xici.net/b700278/d44576087.htm 1.常规 char str1[] = “Hello” ; char str2[5] = {'H','e','l','l','o'}; char str3[6] = {'H','e','l','l','o','/0'}; char *p1 = "Hello"; char *p2[]={"h转载 2015-11-12 09:47:56 · 425 阅读 · 0 评论 -
C++面试出现频率最高的30道题目(一)
1.new、delete、malloc、free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消转载 2015-11-12 10:08:57 · 367 阅读 · 0 评论 -
C/C++面试题
1、指针和引用的区别? 答:引用是在C++中引入的。它们之间的区别有: (1) 非空区别:指针可以为空,而引用不能为空 (2) 可修改区别:如果指针不是常指针,那么就可以修改指向,而引用不能 (3) 初始化区别:指针在定义时可以不用初始化,而引用在定义的同时必须初始化 2、为什么构造函数不能声明为虚函数? 答:因为虚函数采用的是虚调用的方法,虚转载 2015-11-12 09:52:49 · 769 阅读 · 0 评论 -
C++学习笔记 -- 虚析构函数与纯虚析构函数
开始学C++了,所以又重拾以前学习过的相关概念… 析构函数是当一个对象的生命周期结束时,会自动执行析构函数。 析构函数的定义: #ifndef __A_H__#define __A_H__class A{public: A(void); A(int a, int b); ~A(void); //析构函数private: int a; int b;转载 2015-11-12 10:17:16 · 434 阅读 · 0 评论 -
[转]笔试面试中问到的常见问题总结
面试的三大重点,第一个是项目,项目这个应该挺好说的,只要自己有这方面的准备;第二个是数据结构和算法,这个无论在笔试还是在面试中都很重要。第三个如果面C++方向的话,C++基础很重要。 接下来谈一下后二者各自的一些常见问题。 一、数据结构和算法 链表:链表逆序,判断链表中是否存在环 字符串:字符串匹配,单词反转,查找倒数第K个结点,最小子串和 二叉树:树的转载 2015-11-12 10:19:21 · 485 阅读 · 0 评论 -
C++ 构造函数和析构函数是否可以继承?
先看一个例子: [cpp] view plaincopy #include class A { public: A() { ::std::cout "constructor: A" // 构造函数不能为 virtual A(int aa): a(aa) { ::std::cout "转载 2015-11-12 10:43:32 · 751 阅读 · 0 评论 -
C++ sizeof() 和一道面试题
首先要明确sizeof不是函数,也不是一元运算符,他是个类似宏定义的特殊关键字,sizeof();括号内在编译过程中是不被编译的,而是被替代类型。 如int a=8;sizeof(a);在编译过程中,它不管a的值是什么,只是被替换成类型sizeof(int);结果为4. 如果sizeof(a=6);呢,也是一样的转换成a的类型,但是要注意 因为a=6是不被编译的,所转载 2015-11-12 09:49:27 · 588 阅读 · 0 评论 -
c++面试题2015
C++经典面试题 1,关于动态申请内存 答:内存分配方式三种: (1)从静态存储区域分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。 全局变量,static变量。 (2)在栈上创建:在执行函数时,函数内局部变量的存储单元都可以在栈上创建, 函数执行结束时这些存储单元自动被释放。 栈内存分配运算内置于处理器的指令集中,效率很高转载 2015-11-12 09:52:00 · 735 阅读 · 0 评论 -
全面整理的C++面试题
C++面试题 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。 private 也被集成,只事派生类没有访问权限而已 virtual可加可不加 子类的空间里有父类的所有变量(static除外) 同一个函数只存在一个实体(inline除外) 子类覆盖它的函数不加转载 2015-11-12 09:55:41 · 532 阅读 · 0 评论 -
为什么 要虚析构函数
.#include iostream> using namespace std; class A { public: A(){cout "A" endl;} virtual ~A(){cout "~A" endl;} }; class B : public A { public: B(){cout "B" endl;}转载 2015-11-12 10:16:31 · 636 阅读 · 0 评论 -
C语言高频面试题之sizeof与指针和结构体专题总结
sizeof的用法,在C,C++语言笔试面试中常见问题 1,基本数据类型 cout 结果是1 cout 结果是4 cout 结果是4 cout 结果是4 cout 结果是2 cout 结果是4 cout 结果是8 2,指针变量 指针变量的sizeof的值与指针所指的值没有任何关系,所转载 2015-11-12 09:46:45 · 2737 阅读 · 0 评论 -
C++primer习题3.14 vector<string>读写字符
#include #include #include #include #include #include using namespace std; void get_upper(string &s) { for(size_t i = 0; i != s.size(); ++i)转载 2015-11-17 22:36:01 · 631 阅读 · 0 评论