原创 不調用C++/C的字符串庫函數,請編寫函數 strcpy
char *strcpy(char *strDest,const char *strSrc) { int n=0; while(strSrc[n]!=NULL) { n++:
原创 BOOL , float, 指針變量 與“零值”比較的 if 語句
提示:這裏“零值”可以是0, 0.0 , FALSE或者“空指針”。例如 int 變量 n 與“零值”比較的 if 語句爲: if ( n == 0 ) if ( n != 0 ) 以此類推。 請寫出 BOOL f
原创 內存的思考題
void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(st
原创 什麼是多態(轉)
一.什麼是多態(Polymorphism) 多態(Polymorphism)是面向對象(Object-Oriented,OO)思想"三大特徵"之一,其餘兩個分別是封裝(Encapsulation)和繼承(Inheritance)--可見多
原创 Socket模型詳解
Winsock 的I/O操作:1、 兩種I/O模式 阻塞模式:執行I/O操作完成前會一直進行等待,不會將控制權交給程序。套接字 默認爲阻塞模式。可以通過多線程技術進行處理。 非阻塞模式:執行I/O操作時,Winsock函數會返回並交出
原创 C++類繼承關係
C++類繼承關係問題 在C++中繼承主要有三種關係:public、protected和private。這三種繼承關係中public繼承是最爲常用的一種繼承關係,代表了接口繼承含義,而他們分別具體代表了什麼含義呢? 1. publi
原创 編寫類String的構造函數、析構函數和賦值函數
已知類String的原型爲: class String { public: String(const char *str = NULL);// 普通構造函數 String(const String &other)
原创 局部變量、全局變量、靜態變量
靜態變量的類型說明符是static。 靜態變量當然是屬於靜態存儲方式,但是屬於靜態存儲方式的量不一定就是靜態變量,例如外部變量雖屬於靜態存儲方式,但不一定是靜態變量,必須由 static加以定義後才能成爲靜態外部變量,或稱靜態全局變量
原创 uinion數據類型
uinion數據類型是指不同的數據項存放於同一段內存單元的一種數據結構類型! 這麼多的成員共同佔同一個空間,空間大小由類型最大的確定,如下的空間就爲一個float類型大小; 如: 一個共同體變量不是同時存放多個成員的
原创 Test b();
struct Test { Test( int ) {} Test() {} void fun() {} }; void main( void ) { Test a(1); a.fun();
原创 代碼中的輸出語句輸出0嗎,爲什麼
struct CLS { int m_i; CLS( int i ) : m_i(i) {} CLS() { CLS(0); } }; CLS obj; cout << obj.m_
原创 3對字符串比較,爲什麼結果不一樣?
char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[
原创 靜態數據成員/函數 與 非靜態數據成員/函數 關係
靜態數據成員/靜態成員函數 靜態數據成員/靜態成員函數 與靜態數據成員/靜態成員函數 之間的關係,以及之間如何相互調用。 1. 靜態成員函數 可以直接訪問 靜態數據成員/靜態成員函數 如例程所示: #include <ios
原创 不能使用任何庫函數,編寫memcpy函數
void* mymemcpy(void* pvTo, const char* pvFrom, size_t size) { assert((dest != NULL) && (src != NULL)); by
原创 把一個鏈表反向填空
void reverse(test* head) { test* pe = head; test* ps = head->next; while(ps) { pe-