c/c++面试
大师很博爱
技术爱好广泛
展开
-
编写类String的构造函数、析构函数和赋值函数
已知类String的原型为: class String { public: String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); // 析构函数 String & operator =(const String原创 2013-11-22 18:43:08 · 385 阅读 · 0 评论 -
常见的C字符串处理函数的源代码
#include #include char *strcpy(char *strDest,const char *strSrc) //复制字符串 { assert((strDest!=NULL)&&(strSrc!=NULL)); char *address = strDest; while((*strDest++=*strSrc++)!='\0') NULL原创 2013-11-22 19:01:45 · 428 阅读 · 0 评论 -
冒泡排序算法
冒泡排序算法的运作如下: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 代码实现: #include void BubSort(int a[原创 2013-11-22 19:03:56 · 470 阅读 · 0 评论 -
类员函数的重载、覆盖和隐藏
重载的特征: (1)相同的范围(在同一个类中) (2)函数名相同 (3)参数不同 (4)virtual关键字可有可无 覆盖是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类) (2)函数名相同 (3)参数相同 (4)基类函数必须有vitrual关键字 隐藏的特征: (1)不同的范围(分别位于派生类与基类) (2)函数名相同 (3)参数可相同也可不原创 2013-11-22 19:05:27 · 433 阅读 · 0 评论 -
运算符优先级
原创 2013-11-23 14:28:45 · 416 阅读 · 0 评论 -
单链表的基本操作
#include #include typedef struct node { int data; struct node * next; }node; node *creat() //创建单链表 { node *head;//头结点 node *cur;//当前结点 node *temp;//临时结点 int x;//数据 int cycl原创 2013-11-22 19:07:26 · 869 阅读 · 0 评论 -
N进制数转换为十进制数
#include "stdio.h" #include "ctype.h" long NtoDec(char *str,int B) { int a[50] ={0}; long value = 0; int count = 0; while(*str!='\0') //将字符串中单个字符转换成整数保存到数组 { if(*str>='0'&&*str原创 2013-11-28 22:50:38 · 886 阅读 · 0 评论 -
十进制数转换为N进制数
十进制转换为任意进制 可以采用除基取余法将十进制整数转换为B进制整数: 将十进制整数除以B,得到商和余数,余数对应为B进制数低位的值; 继续让商再除以B,得到商和余数,。。。。。。 重复此操作,直到商为0. 如此得到的一系列余数就是相应B进制数的各位数字, 先得到的是低位,后得到的是高位。 代码实现如下: #include "stdio.h" void DecToN(long n原创 2013-11-22 18:39:37 · 1521 阅读 · 0 评论 -
单链表的封装
#include using namespace std; typedef struct Node { int m_data; Node *m_next; }Node; class IntList { public: IntList(); ~IntList(); bool append(int value); bool remove(int value)原创 2013-11-29 00:36:46 · 645 阅读 · 0 评论