原创 C++程序設計模型直接支持三種programming

C++程序設計模型直接支持三種programming 程序模型(面向過程):就像C一樣,C++當然也支持它; 抽象數據類型模型(ADT abstract data type model 如今稱之爲OB object-based)

原创 多態的主要用途

多態的主要用途是經由一個共同的接口來影響類型的封裝,這個接口通常被定義在一個抽象的base class中。這個共享接口是以virtual function機制引發的,它可以在執行期根據object的真正類型解析出到底哪一個函數實例

原创 加上封裝後的佈局成本

member function雖然含在每個class object之內,卻不出現在object之中。每一個non-inline member function只會誕生一個函數實例。inline function則會在其每一個使用者

原创 Copy Constructor 的構造操作

以一個object的內容作爲另一個class object的初值的三種情況: 對一個object做顯式的初始化操作; class X{};X x; X xx = x; 當object被當做參數交給某個函數 extern void

原创 一個class object需要多少內存

其non-static data members的總和大小; 加上任何由於alignment的需求而填報padding上去的空間(可能存在於members之間,也可能存在於集合體邊界); 加上爲了支持virtual而由內部產生的

原创 C++對象模式

class Point { public: Point(float xval); virtual ~Point(); float x() const; static int PointCount()

原创 c++以下列方法支持多態

1. 經由一組隱式的轉換操作 例如把一個derived class 指針轉化爲一個指向其public base type的指針: Shape* ps = new Circle(); 2. 經由virtual function機制

原创 Bitwise Copy Semantics

Bitwise Copy Semantics (位逐次拷貝) #include "Word.h" Word noun("book"); void foo() { Word verb = noun; ...

原创 如果有多個class member objects 都要求constructor初始化操作,將如何?

C++語言要求以“member objects 在class中的聲明順序”來調用各個constructors。這一點由編譯器完成,它爲每一個constructor安插程序代碼,以“member聲明順序”調用呢每一個member所關

原创 gtk新手入門須知

Gtk 新手入門須知 參考網站 官網下載:GTK(window+linux) 官網參考文檔:GTK 3.0 (重點參考demo) Linux自定gtk2.0,安裝gtk3.0後指定庫版本。 編譯命令:gcc gtk_example

原创 在C++各個不同的編譯模塊中,編譯器如何避免合成出多個default constructor呢?

在C++各個不同的編譯模塊中,編譯器如何避免合成出多個default constructor(比如說一個是爲A.C文件合成,另一個是爲B.C文件合成)呢? 解決方法是把合成的default constructor、copy con

原创 Qt: The Meta-Object System

Qt的 Meta-Object 系統提供了信號-槽機制,用於對象之間的通訊,運行類型信息和動態屬性系統。 Meta-Object 基於以下三件事: QObject類提供了一個對象能夠利用Meta-Object系統的基類; Q_O

原创 Qt解決:VS2015 + Qt 提示 There's no Qt version assigned to this project for platform Win32

設置問題,項目右鍵菜單, 選擇 “Qt Project Settings” ,會顯示如圖的框:  將最後一個 Version字段, 選擇指定的Qt 版本即可。

原创 Qt解決:QWidget: Must construct a QApplication before a QWidget

在使用UI的qwidget之前都必須先構造一個QApplication實例,這是斷言的意思。 錯誤的可能是在哪個類中採用了靜態的(static)的qwidget或其子類,因爲靜態和全局對象進入main函數之前就產生了,所以早

原创 Qt解決:在VS配置,生成MOC.cpp文件,解決link。。。unsolved meta問題

在VS中設置,這樣每次編譯自動生成:   1. 在solution explorer窗口中, 右擊要生成moc文件的頭文件, 選擇"Properties"; 2. 彈出的窗口左邊,"Configuration Properties"下面點