大綱:
1.成員函數和非成員函數
2.詳細解釋
3.總結
4.參考
1.成員函數和非成員函數
其實簡單來說成員函數是在類中定義的函數,而非成員函數就是普通函數,即不在類中定義的函數,其中非成員函數比較典型的是友元函數。
2.詳細解釋
成員函數是類定義的一部分,通過特定的對象來調用。成員函數可以隱式訪問調用對象的成員,而無須使用成員操作符。
友元函數不是類的組成部分,因此被稱為直接函數調用。友元函數不能隱式訪問類成員,而必須將成員操作符用於作為參數傳遞的對象。
3.總結
1.成員函數是面向對象的概念,所謂的成員函數,是指一個函數作為類的成員,公有成員、私有成員或者保護成員。
2.普通函數一般有兩種傳遞方式,按類型傳遞和按值傳遞,也就是傳指針和傳返回值兩種情況。成員函數一般是按類型傳遞,也即是傳指針地址
3.普通函數可以隨便調用,並且無法繼承和封裝,成員函數根據類的不同,可以進行繼承,根據公有私有的不同,調用方式也不同
4.深層次的區別,普通函數作為C語言的概念,用的是stdlib,成員函數是用iostream,編譯方法不同,至於誰占內存多,並不好說,也不是說面向對象的就占內存大些,還是看具體的環境和編譯器。
5.嵌入式的編程,用普通函數較多,成員函數較少,當然ARM嵌入linux那種例外
4.參考