原创 40-前置操作符和後置操作符

40-前置操作符和後置操作符值得思考的問題下面的代碼有沒有區別?爲什麼?i++; // i的值作爲返回值,i自增1 ++i; // i自增1,i的值作爲返回值【範例代碼】真的有區別嗎?#include <iostream> #

原创 42-類型轉換函數(下)

42-類型轉換函數(下)【問題】類類型是否能夠類型轉換到普通類型?類型轉換函數C++類中可以定義類型轉換函數類型轉換函數用於將類對象轉換爲其他類型語法規則:operator Type () { Type ret; // .

原创 35-函數對象分析

35-函數對象分析客戶需求編寫一個函數:函數可以獲得非伯納騎術列每項的值每調用一次返回一個值函數可根據需要重複使用【範例代碼】第一個解決方案#include <iostream> #include <string> using name

原创 乾鍋菜花

乾鍋菜花食材:花菜半個,五花肉1小塊,蒜苗1根,蒜1瓣,紅尖椒1個。調料:老乾媽豆豉醬半湯匙,生抽1湯匙,糖半茶匙,油適量。【操作步驟】:1、花菜清洗乾淨,削去表面泥污部分,花朵朝下浸入淡鹽水中泡20分鐘。2、五花肉切薄片,蒜切片,蒜苗切

原创 34-數組操作符的重載

34-數組操作符的重載【問題】string類對象還具備C方式字符串的靈活性嗎?還能直接訪問單個字符嗎?字符串類的兼容性string類最大限度的考慮了C字符串的兼容性可以按照使用C字符串的方式使用string對象string s = "a1

原创 11-新型的類型轉換

11-新型的類型轉換強制類型轉換C方式的強制類型轉換:(Type)(Expression)Type(Expression)typedef void(PF) (int) struct Point { int x; int y

原创 可樂滷蛋

可樂滷蛋原料:雞蛋3個,可樂500毫升,香葉5片,桂皮2片,八角2個調料:鹽、白糖各1克,生抽、老抽各5毫升【操作步驟】:1、鍋置火上,注入清水,放入雞蛋,煮到熟,取出雞蛋放入涼水中至蛋殼降溫。 2、取出已經涼的雞蛋,去殼,裝盤,在去殼的

原创 41-類型轉換函數(上)

41-類型轉換函數(上)再論類型轉換標準數據類型之間會進行隱式的類型安全轉換:轉換規則如下:char -> short -> int -> unsigned int -> long -> unsigned long -> float ->

原创 33-C++中的字符串

3-C++中的字符串歷史遺留問題C語言不支持真正意義上的字符串C語言用字符數組和一組函數實現字符串操作C語言不支持自定義類型,因此無法獲得字符串類型解決方案:從C到C++的進化過程引入了自定義類型在C++中可以通過類完成字符串類型的定義標

原创 39-逗號操作符的分析

39-逗號操作符的分析逗號操作符(,)可以構成逗號表達式:逗號表達式用於將多個子表達式連接爲一個表達式逗號表達式的值爲最後一個子表達式的值逗號表達式中的前N-1個子表達式可以沒有返回值逗號表達式按照從左向右的順序計算每個表達式的值exp1

原创 26-類的靜態成員函數

26-類的靜態成員函數類的成員函數在C++中可以定義靜態成員函數:靜態成員函數是類中特殊的成員函數靜態成員函數屬於整個類所有可以通過類名直接訪問公有靜態成員函數可以通過對象名訪問公有靜態成員函數靜態成員函數的定義直接通過static關鍵字

原创 30-操作符重載的概念

30-操作符重載的概念C++中的重載能夠擴展操作符的功能操作符的重載以函數的方式進行本質:用特殊形式的函數擴展操作符的功能通過operator關鍵字可以定義特殊的函數operator的本質是通過函數重載操作符語法:Type operato

原创 27-二階構造模式

27-二階構造模式關於構造函數類的構造函數用於對象的初始化構造函數與類同名並且沒有返回值構造函數在對象定義時自動被調用【範例代碼】異常的構造函數#include <stdio.h> class Test { int mi;

原创 36-經典問題解析三

36-經典問題解析三關於賦值的疑問【問題】什麼時候需要重載賦值操作符?編譯器是否提供默認的賦值操作?編譯器爲每個類默認重載了賦值操作符默認的賦值操作符僅完成淺拷貝當需要進行深拷貝時必須重載賦值操作符賦值操作符與拷貝構造函數有相同的存在意義

原创 37-智能指針分析

37-智能指針分析永恆的話題內存泄漏(臭名昭著的Bug)動態申請堆空間,用完後不歸還C++語言中沒有垃圾回收的機制指針無法控制所指堆空間的生命週期【範例代碼】內存泄漏#include <iostream> #include <string