C++中成員函數和友元函數之間有以下幾點區別:
訪問權限:成員函數可以直接訪問類的私有成員和保護成員,而友元函數可以在類的外部訪問類的私有成員和保護成員。
調用方式:成員函數可以通過對象或指針調用,而友元函數可以直接調用,不需要通過對象或指針。
聲明方式:成員函數在類中進行聲明和定義,而友元函數在類中進行聲明,在類外進行定義。
可見性:成員函數在類內定義,可以被所有對象訪問,而友元函數在類外定義,只有在友元函數被聲明的類中能訪問。
關系:成員函數是類的成員,是類的一部分,而友元函數不是類的成員,只是與類有一定關系的函數。