面试题:赋值运算符函数题目:如下为类型CMyString的声明,请为类型添加赋值运算符函数。classCMyStr
面试题:赋值运算符函数
题目:如下为类型CMyString 的声明,请为类型添加赋值运算符函数。
classCMyString
{
public :
CMyString (char* pData=NULL);
CMyString (const CMyString& str);
~CMyString (void);
private:
char* m_pData;
};
面试题:赋值运算符函数
题目:如下为类型CMyString 的声明,请为类型添加赋值运算符函数。
classCMyString
{
public :
CMyString (char* pData=NULL);
CMyString (const CMyString& str);
~CMyString (void);
private:
char* m_pData;
};
面试题:包含min函数的栈
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。
A.赋值运算符和下标运算符只能重载为类的友元函数
B.赋值运算符重载时一般以引用方式返回*this,表示返回赋值运算符的左操作数
C.赋值运算符合下标运算符只能重载为类的成员函数
D.使用重载的赋值运算符时,左操作数一定是自定义类型
面试题:不用加减乘除做加法
题目:写一个函数,求两个整数之各,要求在函数体内不得使用+、-、×、÷四则运算符号。
面试题:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We aer happy.”。
面试题:数值的整数次方
题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得保用库函数,同时不需要考虑大数问题。
面试题:二叉树的镜像
题目:请完成一个函数,输入一个二叉数,该函数输出它的镜像。
二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode* m_ pleft;
BinaryTreeNode* m_pRight ;
};
面试题:复杂链表的复制
题目:请实现函数ComplexListNode*Clone(ComplexListNode*pHead),复制一个复杂链表中,每个结点除了有一个m_pSibing指向链表中的任意结点或者NULL。结点的C++定义如下:
struct ComplexListNode
{
Int m_nValue;
ComplexListNode* m_pNext;
ComplexListNode* m_pSibling;
};
面试题:反转链表
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。链表结点定义如下:
struct List Node
{
int m_n Key;
ListNode+ m_p Next;
};
面试题:二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2.