這裡是一個例子:
class awov {
public:
virtual ~awov() = 0; // 聲明一個純虛析構函式
};
這個類有一個純虛函式,所以它是抽象的,而且它有一個虛析構函式,所以不會產生析構函式問題。但這裡還有一件事:必須提供純虛析構函式的定義:
awov::~awov() {} // 純虛析構函式的定義
這個定義是必需的,因為虛析構函式工作的方式是:最底層的派生類的析構函式最先被調用,然後各個基類的析構函式被調用。這就是說,即使是抽象類,編譯器也要產生對~awov的調用,所以要保證為它提供函式體。如果不這么做,連結器就會檢測出來,最後還是得回去把它添上。
相關詞條
-
虛析構函式
虛析構函式是為了解決基類的指針指向派生類對象,並用基類的指針刪除派生類對象。 如果某個類不包含虛函式,那一般是表示它將不作為一個基類來使用。當一個類不準...
虛析構函式 虛析構函式舉例 -
派生類
函式和析構函式的時候。在這些情況下,基類的說明順序會對下面所列的有影響。由...順序將很重要。初始化是按基類表中的說明順序進行初始化的。激活析構函式以作...,則該順序也很重要。析構函式的調用是按基類表說明順序的反向進行調用...
語法說明 單一繼承 多重繼承 基類 二義性 -
類[編程術語]
函式”。構造函式與析構函式構造函式和析構函式是特殊的成員函式,和普通成員函式不同的地方在於:函式名固定構造函式和析構函式的函式名必須是類名。聲明格式不同構造函式和析構函式沒有返回值,連空返回值——void也沒有。構造...
介紹 用法 特性 示例 -
從新手到高手C++全方位學習
類的函式指針 接受字元串指針的函式 指向函式的指針
基本信息 簡介 目錄 -
C++寶典
類的成員函式 類的構造函式 函式對象的定義
圖書信息 內 容 簡 介 前 言 目 錄 -
C++編程思想(兩卷合訂本)
確保初始化 1566.2 用析構函式確保清除 1576.3 清除... 1616.4 帶有構造函式和析構函式的Stash 1626.5 帶有構造函式和析構函式的Stack 1646.6 聚合初始化...
-
C語言大學教程(第八版)
程式設計 105第5章 C函式 1175.1 引言 1175.2 C語言中的程式模組 1175.3 數學庫函式 1185.4 函式 1195.5 函式定義 1205.5.1 square函式 1205.5.2...
內容簡介 目錄 -
由淺入深學C++
函式的分類 函式的調用 構造函式的調用
基本信息 內容簡介 目錄 前言 -
《計算機與信息技術基礎教程》
getchar和putchar函式進行字元的輸入和輸出3.4.4用scanf和printf函式進行輸入和輸出3.5編寫順序結構的程式3.6關係運算和...結構的程式習題第4章函式與預處理4.1概述4.2定義函式的一般形式...
內容簡介 目錄介紹 參考資料