1.實現string函式的建構函式,拷貝建構函式,析構函式,賦值運算子過載
#include #include using namespace std;
class string
;//通用建構函式
string::string(const char * data)
else }
//拷貝建構函式
string::string(const string & str)
//賦值運算子過載
string & string::operator = (const string & str)
delete this->m_data;
this->m_data = new char[strlen(str.m_data) + 1];
strcpy(this->m_data,str.m_data);
return *this;
}//析構函式
string::~string()
void main()
2.已知鍊錶結點的結構和頭結點head
struct node
;
寫出鍊錶逆序:
#include using namespace std;
typedef struct node
node,*list;
//鍊錶逆序
node * reverselist(node *head)
node *p1 = null;
node *p2 = head->next;
node *p3 = p2->next;
while (p3 != null)
head->next->next = null;
head->next = p2;
return head;
}//輸出鍊錶
void printlist(list head)
printf("\n");
}void main()
//輸出原鍊錶
printlist(head);
//輸出倒序後的鍊錶
head = reverselist(head);
printlist(head);
}
一些典型的筆試面試題
關於c c 基礎知識的面試題 已知string類定義如下,嘗試寫出類的成員函式實現。class string 答 string string const char str else string string const string another string string operator c...
一些C 面試題
1.介紹一下stl,詳細說明stl如何實現vector。2.如果用vc開發程式,常見這麼幾個錯誤,c2001,c2005,c2011,這些錯誤的原因是什麼。3.繼承和委派有什麼分別,在決定使用繼承或者委派的時候需要考慮什麼。4.指標和引用有什麼分別 如果傳引用比傳指標安全,為什麼?如果我使用常量指標...
一些面試題
q 您在什麼情況下會用到虛方法?它與介面有什麼不同?a 當在繼承類中想重寫某一方法時會用到虛方法 虛方法是類的成員函式,介面相當於抽象類.q override與過載有什麼區別?a override 就是覆蓋的意思,覆蓋父類的同名方法,而過載則是通過參數列來呼叫方法.q 值型別與引用型別有什麼區別?a...