C++快速入門+20201011
C++:物件導向
屬性 和 行為 / 封裝成類
1、封裝:把物件的屬性和方法結合成一個獨立的系統單位
2、抽象:對一類公共問題進行統一描述的過程(得到所有參與者的同意的協議)
3、繼承:子類物件擁有其基類相同的全部屬性和方法
4、多型:在基類中定義的屬性和行為被子類繼承後,可以具有不同的資料型別或者表現行為等特性
cout:是物件,輸出流物件console out(控制檯輸出),屬於basic_ostream類的物件,ostream類在iostream標頭檔案中定義。
print:函式
using namespace std;//名字空間//C++標準庫所使用的所有識別符號(即類、函式、物件等的名稱)都是在同一個特殊的名字空間(std)中來定義的。如果沒有這條指令,我們需要使用std::cout這樣的語法來呼叫輸出流物件。
支援過載:按照不同的方式使用同一個操作符
流物件cin:型別是istream,從使用者終端讀取資料
cin>>i; cin輸入操作符又稱為提取操作符。它一次從輸入流物件cin提取一個整數。
當使用者進行鍵盤輸入時,對應的字元將輸入到作業系統的鍵盤緩衝區中。
在while(cin>>i)中,表示式cin>>i返回輸入流物件本身
函式過載的實質就是用同樣的名字再定義一個有著不同引數但有著相同用途的函式。(人格分裂、多重身份。。。)
過載函式的特徵:函式名相同,引數型別不同(引數個數上不同,引數資料型別上不同)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
複雜資料型別
陣列
一個陣列可以把許多個同型別的值儲存在同一個變數名下,陣列仍需要被宣告為某一特定的型別:float,char,inttype name[x] int aa[10]
指標
對齊:浮點數型別從8開始儲存而不是5,變數型別是根據它們的自然邊界進行對齊的
記憶體對齊,檔案對齊/.exe 和 dll檔案(動態連結庫)
定址:對變數進行索引1、通過變數名2、通過地址
取址:&,獲得變數的地址 int var = 123 std::cout<<“Address is:”<<&var;
結構
2.1變數和賦值
C++是對大小寫敏感的語言
1、應該為一個變數分配多大的記憶體位置
2、用哪種編碼方式將變數的值表示為一連串0和1
宣告時初始化變數
int const = 0,limit = 10
double distance = 999.99
int const(0) , limit(10)
double distance(999.99)
2.2輸入和輸出
“\n”和endl含義相同,但用法稍有區別:\n必須放到雙引號內,endl則不能。
輸出double型別的值----輸出幾位小數
cout.setf(ios::fixed);
cout.setf(ios::snowpoint);
cout.precision(2)
。。。。。
'A’是char值,可存貯到char型別的變數中
"A"是字串
C++只允許在算術表示式中使用圓括號來指定運算順序
2.4簡單控制流程
不要使用連續不等式
if(x<y<z)
正確:if(x<y)&&(y<z)
2.5程式風格
要標記一個不能更改的變數,在變數宣告之前新增const
3.1布林表示式
優先順序規則
一元操作符+,-,++,–,!
二元算術操作符×,/,%
二元算術操作符+,-
布林運算<,>,<=,>=
布林運算==,!=
布林運算&&
布林運算||
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
將非0的數視為true,將0視為false
else虛懸問題,else會與最近的if配對
3.3C++迴圈語句
++number:先遞增再返回值
number++:先返回值再遞增
for語句裡全是 “ ;”
4.1自頂向下設計
4.4過程抽象
黑盒原則//過程抽象原則//資訊隱藏
4.5作用域和區域性變數
在函式主體中宣告的變數區域性於該函式
全域性變數和全域性常量:在所有函式主體之外,也在main()部分之外
過載時,函式定義必須使用不同數量的形參
5.1void函式
1該函式不返回任何值
2return;
5.2傳引用引數
5.3使用過程抽象
所有函式宣告都放到main函式之前,所有函式定義都放到main函式之後
6.1流和基本檔案I/O
6.2流I/O工具
ios::fixed 不用e計數法寫浮點數
ios::scientific 用e計數法寫浮點數
ios::showpoint 顯示小數點和尾隨的0
ios::showpos 正整數之前會輸出一個正號
ios::right 右對齊width
ios::left 左對齊width
ifstream 型別的流可通過呼叫成員函式open連線到檔案。之後可從檔案讀取輸入
ofstream 型別的流可通過呼叫成員函式open連線到檔案。之後就可將輸出傳送到檔案。
應使用成員函式fail檢查open函式呼叫是否成功
物件是關聯了函式的變數。這些函式稱為成員函式。類是其變數為物件的一種型別。such as 一個流是一個物件,而ifstream 和 ofstream是類
呼叫物件的成員函式時
///Calling_object.Member_Function_Name(Argument_List);
///假定cout流是呼叫物件(Call_Object),precision是成員函式(Member_Function_Name)對
///該成員的呼叫可以這樣寫cout_precision(2)
流的一些成員函式(比如width,setf和precision)可用於格式化輸出
每個輸入流都有名為get的成員函式,用於讀取一個字元輸入;get不會忽略空白字元。每個輸出流都有名為put的成員函式,用於將一個字元寫到輸出流。
成員函式eof測試是否抵達輸入檔案末尾,eof適合文字處理,處理資料另究
相關文章
- C++語言菜鳥快速入門C++
- 演算法競賽C++快速入門演算法C++
- 快速排序快速入門排序
- C++快速入門--12--抽象類和介面模擬C++抽象
- C++的快速讀入C++
- SQL快速入門 ( MySQL快速入門, MySQL參考, MySQL快速回顧 )MySql
- JavaScript快速入門JavaScript
- vim快速入門
- Webpack快速入門Web
- Lumen快速入門
- TypeScript 快速入門TypeScript
- phpunit 快速入門PHP
- React快速入門React
- WebSocket 快速入門Web
- Pipenv 快速入門
- MQTT 快速入門MQQT
- Zookeeper快速入門
- DvaJS快速入門JS
- SnakeYaml快速入門YAML
- RabbitMQ快速入門MQ
- 快速入門reactReact
- pipenv快速入門
- Promise快速入門Promise
- PHP快速入門PHP
- GitHub 快速入門Github
- mongodb快速入門MongoDB
- mysqlsla快速入門MySql
- Express快速入門Express
- Python快速入門Python
- NuxtJS快速入門UXJS
- MySQL 快速入門MySql
- jackson快速入門
- Composer 快速入門
- zookeeper 快速入門
- Spark 快速入門Spark
- Envoy 快速入門
- Thymeleaf【快速入門】
- Feign快速入門