- String類型
- getline(cin,變量);這是用來獲取 用戶輸入的函數
- 面向對象的基本思想是:用誰,做什麼來表達程序的邏輯
在代碼層面,就是將所有的數據操作轉化爲成員函數的調用
- 數據的封裝的好處
可以有效的控制輸入的數據的正確性
- 類內定義與內聯函數關係:
類內定義是指把函數定義都放在類內
兩者的關係:類內定義相當於在函數前面加inline,在代碼中不會寫明,
- 類內定義與類外定義
類外定義:成員函數的函數體寫在類的外面類外定義分類:同文件類外定義、分文件類外定義同文件類外定義:成員函數,在類外面,但是在同一個文件中
分文件類外定義:與之相反,在不同的文件中
其定義方式:首先定義一個頭文件.h,在相應的.cpp文件中#include對應的頭文件.h
- 內存分區
棧區由操作系統來控制
堆區由程序猿來操作和管理 - 對象初始化分爲兩種:直接初始化、拷貝初始化
- string str1(10,'9');//直接初始化
- string str2(str1);//直接初始化
- string str3 = str1;//拷貝初始化
- 【注意】【知識點】構造函數:在對象實例化的時候自動調用,但只會調用一次 ,相當於用戶自定義類中各個參數的值
規則和特點:- 構造函數與類同名
- 構造函數沒有返回值
- 構造函數可以有多個重載形式
- 實例化對象時只會用到重載的構造函數中的一個
- 當用戶沒有定義構造函數時編譯器會自動生成一個構造函數
- 構造函數的實現方式(三種)
- 無參數的構造函數
- 有參數的構造函數
- 重載構造函數
- 無參數的構造函數