類的成員函式的指標無法在類外顯式呼叫
今天在寫c++程式的時候遇到了乙個很奇怪的問題,完成沒有辦法解釋,也就是類的成員函式的指標無法在類外顯式呼叫。
有點繞口,**如下:
類的標頭檔案 node.h
#include
#include
class node;
typedef
double
(node:
:*pf)
(double x)
;class node
;
類的原始檔 node.cpp
#include
"node.h"
node:
:node()
node::~
node()
double node:
:func1
(double x)
double node::fp
(double x)
呼叫的主函式檔案 main.cpp
#include
"node.h"
intmain()
目前沒有找到原因。
定義了乙個成員函式指標,指向類的成員函式,但是在類外部的普通函式中無法通過該指標呼叫類的成員函式,以上三種呼叫方式都是編譯未通過。
採用第四種編譯方式,在類的成員函式指標外面套一層殼,通過類的成員函式作為介面函式,採用this指標,在類的內部呼叫是可以的。
但是完全不知道為什麼。
指向類資料成員 類成員函式的指標
成員指標是指可以指向類的非靜態成員的指標,一般情況下指標指向乙個物件,但是成員指標指示的是類的成員,而非類的物件,類的靜態成員不屬於任何物件,因此無須特殊的指向靜態成員的指標,指向靜態成員的指標與普通指標沒有什麼區別,成員指標的型別囊括了類的型別以及成員的型別,當初始化乙個這樣的指標時,我們令其指向...
函式指標 指向 類成員
在程式設計工作中常會遇到在乙個 類 中通過函式指標呼叫成員函式的要求,如,當在乙個類中使用了c 標準庫中的排序函式qsort時,因qsort引數需要乙個 比較函式 指標,如果這個 類 使用某個成員函式作 比較函式 就需要將這個成員函式的指標傳給qsort供其呼叫。本文所討論的用指標呼叫 類 的成員函...
指向類成員的指標
一 指向類的普通成員的指標 非靜態 1 指向類成員函式的指標 簡單的講,指向類成員函式的指標與普通函式指標的區別在於,前者不僅要匹配函式的引數型別和個數以及返回值型別,還要匹配該函式指標所屬的類型別。總結一下,比較以下幾點 a 引數型別和個數 b 返回值型別 c 所屬的類型別 特別之處 究其原因,是...