原创 靜態聯編和動態聯編

聯編: 將源代碼中的函數調用解釋爲執行特定代碼塊稱爲函數名聯編。 靜態聯編: 在編譯過程中進行聯編。 動態聯編: 編譯器生成能在程序運行期間選擇正確的虛方法的代碼,稱爲動態聯編。因爲只有在運行期間,才知道函數選那種類型的對象。 將派生

原创 類繼承 總結

protected繼承: 關鍵字protected 與private相似,在類外只能用公有成員函數來訪問類成員。派生類的成員可以直接訪問基類的保護乘員,但不能直接訪問基類的私有成員。 抽象基類 C++使用純虛函數提供未實現的函數。春旭

原创 9.2 動態分配

使用new 運算符初始化 爲內置的標量類型(int、double等)分配存儲空間並初始化,可在後面加上初始值,用括號括起來。 int *pi=new int(6); *pi = 6 Class_Name *Class_ptr=

原创 12.1 複製構造函數和賦值運算符

一、靜態類成員 特點 靜態數據成員,永遠只創建一個存儲空間,所有對象共享,可以用來判斷創建了多少個對象的功能。 在類的聲明時不分配內存 靜態類成員不是對象的組成部分 實例 class BadString { char *name

原创 12.4 返回值爲對象的說明

概念: 當成員函數或獨立的函數返回對象時,有三種返回方式。 1. 返回指向對象的引用 2. 指向對象的const引用 3. 返回const對象 返回指向對象的引用 使用在重載賦值運算符或重載cout一起使用的<<運算符。 因爲形參對象

原创 9 內存模型

頭文件: 頭文件通常包含以下內容: 函數原型 使用#define 或const定義的符號常量 結構聲明 類聲明 模板聲明 內聯函數 存儲連續性、作用域和鏈接性 存儲連續性 (C++有三種(C++11有四種)方案存儲數據) 自動存儲

原创 C++中的string類全面分析

首先在c++中string是一個類,其頭文件爲 < string > string在標準空間std。 具體資料在官方鏈接。 主要參考官方文檔和具體實例。 介紹 strings are objects that represent

原创 Qt中添加應用程序圖標

改變應用程序圖標 在.pro文件中添加RC_ICONS = icon.ico,其中ico文件放在項目目錄中,否則找不到。

原创 CV-限定符

在C++中的存儲說明符有以下幾種: auto(在c++中不再是說明符) register static extern thread_local(C++11新增) mutable 注意: 在C++11之前,可以在變量中定義中聲明爲

原创 Qt使用筆記2-添加菜單與資源圖標

1. 添加主窗口菜單 打開mainwindow.ui文件進入設計模式。在這裏可以看到界面左上角的“在這裏輸入”,我們可以在這裏添加菜單。雙擊“在這裏輸入”,將其更改爲“文件(&F)”,然後按下回車鍵。這裏的&F表明將菜單的快捷鍵設置爲

原创 Qt使用筆記1 -登陸界面設計

使用中文字體 使用QTextCodec類的setCodecForTr()函數,一般的使用方法就是在要進行編碼轉換之前調用該函數,下面我們在main.cpp文件中添加代碼: #include <QtGui/QApplication>

原创 虛基類

虛基類 意義:假設定義了一個公共基類A。類B和類C都由類A公有派生,類D由類B和類C公有派生。顯然D包含類A的兩個拷貝,不僅多佔用內存,而且還造成多個拷貝的數據不一致。 不定義虛基類的效果如下: class A { public:

原创 3. const對象和成員函數

使用關鍵字const來說明對象,這樣的對象成爲常對象,它的數據成員值在整個生存週期不能改變,所以常對象必須進行初始化,而且不能更新。格式如下: const <類名> <對象名>(<初值>) 常對象只能調用常成員函數。 常成員函數格式

原创 構造函數

這節不講述構造函數的一般用法和概念。 1. 構造函數的類型轉換功能 單參數構造函數的類型轉換功能是指,如果類定義中提供了只帶一個參數(沒有其他參數或其他參數都有默認值)的構造函數,則當一個其他類型的數值或變量x賦值(注意不是初始化)給

原创 4. 運算符重載

運算符重載是面向對象程序設計的多態性表現之一。 作用:當我們需要兩個複數相加時,我們想要和整數一樣直接相加就可以,但是標準中不支持複數相加,所以此時我們需要運算符重載。 格式: <type> operator @ (<Arg>) {