易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++ 常见面试题

 
1.指针和引用有什么分别;如果传引用比传指针安全,为什么?如果我使用常量指针难道不行吗?
     (1) 引用在创建的同时必须初始化,即引用到一个有效的对象;而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值.
     (2) 不存在NULL引用,引用必须与合法的存储单元关联;而指针则可以是NULL.
     (3) 引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用;而指针在任何时候都可以改变为指向另一个对象.
给引用赋值并不是改变它和原始对象的绑定关系.
     (4) 引用的创建和销毁并不会调用类的拷贝构造函数
     (5) 语言层面,引用的用法和对象一样;在二进制层面,引用一般都是通过指针来实现的,只不过编译器帮我们完成了转换.
     不存在空引用,并且引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用,显得很安全。
     const 指针仍然存在空指针,并且有可能产生野指针.
     总的来说:引用既具有指针的效率,又具有变量使用的方便性和直观性.
2.构造函数可否是虚汗数,为什么?析构函数呢,可否是纯虚的呢?
     构造函数不能为虚函数,要构造一个对象,必须清楚地知道要构造什么,否则无法构造一个对象。
     析构函数可以为纯虚函数。
3.为什么要引入抽象基类和纯虚函数?
     主要目的是为了实现一种接口的效果。
4. 结构与联合有和区别?
(1). 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合中只存放了一个被选中的成员(所有成员共用一块地址空间),
而结构的所有成员都存在(不同成员的存放地址不同)。
(2). 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的。
5. #include<file.h> 与 #include "file.h"的区别?
答: 前者是从Standard Library的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h, 如果后者没有找到对应的文件,就按前者的路径去寻找。
6. 面向对象的三个基本特征,并简单叙述之?
   (1). 封装:将客观事物抽象成类,每个类对自身的数据和方法实


相关文档:

C/C++ 打开PDF文档

 wchar_t wsWorkingDir[256] = _T("");
 CString strPDF(_T(""));
 ::GetCurrentDirectory(256, wsWorkingDir);
 strPDF.Format(_T("%s"), wsWorkingDir);
 if (strPDF.GetAt(strPDF.GetLength()-1) != '\\')
 {
  strPDF += '\\';
 }
 strPDF += "doc\\my.pdf" ......

4*4键盘扫描C程序

 4*4键盘扫描C程序
#include<reg52.h>
#define uchar unsigned char
 uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,
    0x92,0x82,0xF8,0x80,0x90,
    0x88,0x83,0xC6,0xA1,0x86,0x8E};
uchar temp,num;
void display(uchar);
void delay(uchar a)
{
  ......

C题目2

预处理器(Preprocessor)
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
我在这想看到几件事情:
1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2). 懂得预处理器将为你计算常数表达式的值,因此,直接 ......

链表的基本操作(c实现)

  
链表定义及操作的源文件:employee.h
//
#pragma once
#ifndef __EMPLOYEE_H__
#define __EMPLOYEE_H__
#include<stdio.h>
#include<malloc.h>
typedef struct employee{
int id;
int age;
int salary;
}EmpType;
typedef struct Node{
EmpType data;
struct Node *next;
}L ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号