c語言面向過程猬错,c++(以前為c with class)面向?qū)ο竺鎸ο蟮恼Z言還有Java牙丽,C#
教學(xué)目的:良好的方式,快捷的效率兔魂,正規(guī)烤芦、大氣的編程習(xí)慣。
?class(私有)是定義類的關(guān)鍵字析校,類似于struct(公用)定義
Complex(復(fù)數(shù)):無指針的class构罗;
string(字符串):有指針的class
class之間的關(guān)系有:繼承,復(fù)合智玻,委托
Object Based(基于對象):面對單一class的設(shè)計(jì)遂唧;
Object Oriented(面對對象):面對多重class的設(shè)計(jì),class之間的關(guān)系吊奢。
教材:C++Primer ? C++ programming language
效率提高:Effective C++ 及其中文版(侯捷)
源碼: c++ standard library 及 stl源碼剖析代碼
基本形式: .h(header files):class declaraion(聲明).cpp:
#include<標(biāo)準(zhǔn)庫> #include"自建"?C與C++在輸出方面的區(qū)別:C cout <<"i="
?三行與兩行區(qū)別:先初始化后賦值
?class模板(template):少數(shù)不同盖彭,定義T,后改為int double等
?訪問級別:關(guān)于公共private(封裝)页滚、私有 (P20)
?C++允許有多個(gè)構(gòu)造函數(shù)-overlording(重載)召边。同名的函數(shù)可以有一個(gè)以上(分情況)
?ctor構(gòu)造函數(shù)放入 private區(qū)(不能被外界調(diào)用):singleton設(shè)計(jì)模式
?常量函數(shù):加const(函數(shù)內(nèi)數(shù)據(jù)不會(huì)發(fā)生變化),函數(shù)該加const的地方不能少
?參數(shù)傳遞:pass by view vs reference引用(to const裹驰、xxx&)隧熙,盡量所有參數(shù)傳遞使用引用。和指針一樣幻林,參數(shù)會(huì)發(fā)生變化贞盯;如果不希望改變內(nèi)容使用to const(const xxx&)。
?返回值傳遞:return by value vs reference 引用沪饺,和參數(shù)傳遞相同躏敢。當(dāng)函數(shù)有一定時(shí)效(local object)時(shí)不能用引用。傳遞者無需知道接受者是以reference引用形式接受
?friend(友元):friend不能太多整葡,同一個(gè)class的各個(gè)對象互為friends
?操作符重載-1:成員函數(shù)件余,如+=(賦值加法) complex::operator +=(const complex& r)一連串操作符
?class定義(class body之外的定義):操作符重載-2,非成員函數(shù)(無this) +
?臨時(shí)對象(temp object):typename()如real(x)掘宪;返回的如果是個(gè)local object不能返回引用(return by reference)
?-(負(fù)號)判斷是負(fù)號(negate)還是減號
?==(判斷蛾扇,等不等于)!=(判斷魏滚,不等于) <<(右邊輸出到左邊)
?共軛復(fù)數(shù): return complex (real(x)镀首,-imag(x));