原创 C++類中的靜態成員變量和靜態成員函數的作用?

數據成員可以分靜態變量、非靜態變量兩種. 靜態成員:靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名+靜態成員名訪問此靜態成員,因爲靜態成員存在於內存,非靜態成員需要實例化纔會分配內存,所以靜態成員不能訪問非靜態的成員

原创 malloc相關用法

void DoSomeThing(...) { char* p; ... p = malloc(1024); // 分配 1K 的空間 if (NULL == p) return; ... p = realloc(p, 2048); //

原创 鏈表相關操作二(兩種遍歷方式)

1、頭結點不存放Value void reverseLinkList(PNODE head) { NODE *p,*q,*r; p = head->pNext; if(p==NULL || p->pNext==NULL) {

原创 鏈表相關操作三

#include <iostream> #include <string> using namespace std; struct Node //一個鏈表的結點結構 { int data ; Node

原创 mencpy、snprintf和strcpy對比

這些函數的區別在於 實現功能 以及 操作對象 不同。strcpy 函數操作的對象是 字符串,完成 從 源字符串 到 目的字符串 的 拷貝 功能。函數原型:extern char *strcpy(char dest[],const ch

原创 引用的注意事項

1、引用與指針有什麼區別? 答 、1) 引用必須被初始化,指針不必。 2) 引用初始化以後不能被改變,指針可以改變所指的對象。 3) 不存在指向空值的引用,但是存在指向空值的指針。

原创 類模板派生

1) 普通類派生類模板 2) 類模板也可以派生類模板,這時,派生類模板的參數表中應包含基類模板的參數。  3) 模板類與普通類一樣也具有多繼承,即模

原创 有哪幾種情況只能用intialization list 而不能用assignment

無論是在構造函數初始化列表中初始化成員,還是在構造函數體中對它們賦值,最終結果都是相同的。不同之處在於,使用構造函數初始化列表初始化數據成員,沒有定

原创 經典C++筆試題

1、判斷 void main(){ char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const c

原创 設計模式之觀察者模式

http://www.cnblogs.com/sld666666/archive/2011/05/25/2057307.html

原创 類成員函數的重載、覆蓋和隱藏區別

成員函數被重載的特徵:  (1)相同的範圍(在同一個類中); (2)函數名字相同; (3)參數不同; (4)virtual 關鍵字可有可無。 覆蓋是指派生類函數覆蓋基類函數,特徵是: (1)不同的範圍(分別位於派生類與基類); (2)函

原创 字符串處理

1、寫出在母串中查找子串出現次數的代碼. int count1(char* str,char* s) { char* s1; char* s2; int count = 0; while(*str!='\0') { s1 = str;

原创 String原型

class String { public: String(const char *str = NULL); // 普通構造 String(const String &other); // 拷貝構造函數 ~ String(void

原创 數據聲明

a) 一個整型數(An integer) b) 一個指向整型數的指針(A pointer to an integer) c) 一個指向指針的的指針,它指向的指針是指向一個整型數(A pointer to a pointer to a

原创 鏈表相關操作一

#include<iostream> #include<malloc.h> #include<stdlib.h> typedef struct Node//定義鏈表結點 { int data;//數據域 struct Node* p