2. 函式
3. 操作符過載
c++學習之路:封裝性、繼承、多型性
c++學習之路:stl初探——以思維導圖形式
c++學習之路:基礎知識的重構與高階(二)
c++學習之路:基礎知識的重構與高階(三)
標頭檔案的基本結構
complex.h
#ifndef __complex__
#define __complex__
//0.前置宣告
class
ostream
;class
complex
;complex&
__doapl
(complex* ths,
const complex& r)
;//1.類的宣告
class
complex
;//2.類的定義
complex::function...
#endif
類的宣告template
<
typename t>
//模板t
class
complex
//建構函式+初值列
complex&
operator+=
(const complex&);
//操作符過載
t real()
const
void
real
(t r)
//函式的過載
t imag()
const
//常量成員函式
private
: t re, im;
friend complex&
__doapl
(complex*
,const complex&);
//友元函式};
//建構函式模板的呼叫
建構函式class
complex
//建構函式+初值列
private
:double re, im;
};
tips:
建構函式使用初值列更優雅。
建構函式可以被過載,但是要注意有預設形參時,過載函式是否和已有的函式產生二義性。
建構函式一般不放在private中,但也有例外。如設計模式sinleton。
常量成員函式
class
complex
//建構函式+初值列
double
real()
const
//real()不會改變量值的值,所以要加上const
double
imag()
const
private
:double re, im;};
//
tips:
如果函式不會改變資料的值,一定要加上const。
引用引數/返回值傳遞的三種方法:
complex
(double r =0,
double i =0)
:re(r),
im(r)
)
ostream&
operator
<<
(ostream& os,
const complex& x)
complex&
operator+=
(const complex&
);
tips:
引數/返回值傳遞盡量都傳遞引用
如果函式的返回值是函式中新建立的物件(臨時物件),則不可以返回引用。
傳遞者無需知道接收者是以引用方式接收。 如,
inline complex&
__doapl
(complex*
this
,const complex& r)
友元class
complex
//建構函式+初值列
complex&
operator+=
(const complex&);
//操作符過載
private
:double re, im;
friend complex&
__doapl
(complex*
,const complex&);
//友元函式};
inline complex&
__doapl
(complex* ths,
const complex& r)
tips:
友元函式可以自由取得friend的private成員
相同class的各個物件互為友元
靜態資料 & 靜態成員函式
class
account
;double account::m_rata =
8.0;
//靜態資料的定義
tips:
靜態資料一定要記得定義(初始化)。
呼叫靜態函式(通過物件;通過類名)。
incline complex&
__doap1
(complex* ths,
const complex& r)
incline complex& complex::
operator+=
(const complex& r)
//呼叫
#include
ostream&
operator
<<
(ostream& os,
const complex& x)
C 學習之路 引用(一) 基礎知識
根據 c 程式設計 譚浩強 整理,整理者 華科小濤,對乙個資料可以建立乙個 引用 它的作用是為乙個變數起乙個別名。這是c 對c的乙個重要擴充。本系列分兩篇,本篇為基礎篇,主要是介紹基本知識。假如有乙個變數a,想給它起乙個別名b,可以這樣寫 int a 2 int b a 宣告b是a的 引用 以上宣告...
jQuery學習之路(一)基礎知識
今天開始學習jquery,希望大家能多多支援!function str function 本身就是jquery物件的縮寫形式,下面與之等效 jquery function css color red 理論上合法,但實際上缺少元素而報錯 值得一提的是,執行了.css 這個功能函式後,最終返回的還是jq...
C 學習與高階之路
c 缺點之一,是相對許多語言複雜,而且難學難精。許多人說學習c語言只需一本k r c程式語言 即可,但c 書籍卻是多不勝數。我是從c進入c 皆是靠閱讀自學。在此分享一點學習心得。個人認為,學習c 可分為4個層次 c 基礎 挑選一本入門書籍,如 c primer c 大學教程 或stroustrup撰...