C++ 入門指南 - 下一步

下一步?




我們順者範例程式,很快的帶領讀者認識 C++ 開發軟體的各個面向,有些細節,我們能只是稍微提了一點,並沒有詳細解釋,例如,繼承 (inheritance)
#include <iostream>

using std::cout;
using std::endl;
 
class Superclass {
public:
    int superfield;
    Superclass();
    void superfunction();
};

Superclass::Superclass() {
    superfield = 1;
}

void Superclass::superfunction() {
    cout << "superfield: " << superfield << endl;
}

class Subclass : Superclass {
public:
    int subfield;
    Subclass();
    void subfunction();
};

Subclass::Subclass() {
    subfield = 2;
}

void Subclass::subfunction() {
    cout << "subfield: " << subfield << endl;
}
 
int main(void)
{
    Subclass demo;
    demo.subfunction();
     
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:inheritdemo.cpp
    功能:示範 C++ 程式 
    作者:張凱慶
    時間:西元 2012 年 10 月 */


繼承使用分號 : 間隔,我們只有簡略介紹子類別 (subclass) 具有父類別 (superclass) 的特性,像是親代遺傳一般,但,還有很多沒有提的,例如哪些會被繼承,哪些又不會。


除了繼承之外,例外處理 (exception handling) 使用關鍵字 trycatchthrow 等,我們也沒有詳細介紹,其他還有許多重要觀念,像多重繼承 (multiple inheritance) 、命名空間 (namespace) 、模板 (template) 、泛型 (generic) 等,嗯,這些的確都很重要,對學習 C++ 而言。


我們沒有詳細介紹這些概念的理由很簡單,因為一旦要很詳細的教導剛入門的初學者去寫繼承或是模板,勢必停下腳步討論很多該注意的地方,從而到 GUI 之前的篇幅可能暴增兩倍到三倍,讀者能不能在短時間真正的消化吸收這麼多的內容,我們持保留的態度。


然而,弔詭的是,初學者只需要有觀念,不必完全理解,就能直接開發 GUI 的應用軟體。就大多數初學者感興趣的開發項目而言,初學者會使用繼承等概念就夠了,因為很多機會都是使用標準程式庫 (standard library) 或第三方程式庫 (third-party library) ,完全無須自己開發新的程式。


因為,熟練一種工具是一種學習,熟練去開發工具又是另外一種學習。我們認為對初學者而言,先學會使用工具是比較重要的,至於要學習怎麼去開發工具,倒不如先熟練使用工具,玩得很熟了,箇中道理不用言語都能體會之後,再去學習開發給別人使用的工具,自然很快就得心應手。


所以在這份《C++ 入門指南》中,我們不以探討語言的細節為目的,直接引導初學者開發應用程式,想必一路順著教材順序學習的讀者,大都能自行摸索、嘗試開發一些 GUI 軟體囉!接下來,您可以繼續由本站提供的
《C++ 快速導覽》


學習 C++ 語言本身許多的細節,或是
《C++ 及 Qt 實例導覽》(準備中)


查詢常見程式的範例。


本站會持續開發 C++ 的相關應用教材,若是您喜歡本站所提供的教材,您可以經常回訪本站,查詢相關資料 :)


中英文術語對照
繼承inheritance
子類別subclass
父類別superclass
例外處理exception handling
多重繼承multiple inheritance
命名空間namespace
模板template
泛型generic
標準程式庫standard library
第三方程式庫third-party library


您可以繼續參考
GUI 篇


相關目錄
回 C++ 入門指南
回 C++ 教材目錄
回首頁


參考資料
C++ reference
Qt Developer Network

沒有留言: