C++String類型、內存分區、構造函數

  • String類型
    string 的 常 用 操 做 若 s 爲 空 串 則 返 回 true , 否 則 返 回 false s.empty() 返 回 s 中 字 符 的 個 數 s.size() 返 回 s 中 位 置 爲 n 的 字 符 , 位 置 從 0 開 始 s[nl 將 兩 個 串 連 接 成 新 串 返 回 新 生 成 的 串 sl+S2 把 sl 得 內 容 替 換 爲 s2 的 副 本 2 判 定 相 等 , 相 等 返 回 true , 否 則 返 回 false 判 定 不 等 , 不 等 返 回 true , 否 則 返 回 false
  • getline(cin,變量);這是用來獲取 用戶輸入的函數
  • 面向對象的基本思想是:用誰,做什麼來表達程序的邏輯
    在代碼層面,就是將所有的數據操作轉化爲成員函數的調用
  • 數據的封裝的好處
    可以有效的控制輸入的數據的正確性
  • 類內定義與內聯函數關係:
    類內定義是指把函數定義都放在類內
    兩者的關係:類內定義相當於在函數前面加inline,在代碼中不會寫明,
  • 類內定義與類外定義
    類外定義:成員函數的函數體寫在類的外面類外定義分類:同文件類外定義、分文件類外定義同文件類外定義:成員函數,在類外面,但是在同一個文件中
    class Car public: void run() ; void stop(); void changeSpeed(); void Car::run() { } void Car::stop() void Car::changeSpeed() {}
    分文件類外定義:與之相反,在不同的文件中
    其定義方式:首先定義一個頭文件.h,在相應的.cpp文件中#include對應的頭文件.hCar . h class Car public: void run() ; void stop(); void changeSpeed(); Car. cpp #includelcmao 棧 就 是 驛 站 , 相 當 於 亻 主 賓 館 , 被 子 , 衛 生 啥 的 有 服 務 員 打 理 堆 相 當 於 自 己 的 家 需 要 自 己 打 理
  • 內存分區
    : int x = O; int *p = NULL; : int *p = new int[20]; : string str=
    棧區由操作系統來控制
    堆區由程序猿來操作和管理
  • 對象初始化分爲兩種:直接初始化、拷貝初始化
    1. string str1(10,'9');//直接初始化  
    2. string str2(str1);//直接初始化  
    3. string str3 = str1;//拷貝初始化  
        有且僅有一次、根據條件初始化
  • 【注意】【知識點】構造函數:在對象實例化的時候自動調用,但只會調用一次 ,相當於用戶自定義類中各個參數的值
    規則和特點:
    • 構造函數與類同名
    • 構造函數沒有返回值
    • 構造函數可以有多個重載形式
    • 實例化對象時只會用到重載的構造函數中的一個
    • 當用戶沒有定義構造函數時編譯器會自動生成一個構造函數
  • 構造函數的實現方式(三種)
    • 無參數的構造函數
      class Student public: Student(){m_strName private: string m_strName; Jim
    • 有參數的構造函數
      class Student public: Student(string name) {m_strName = name;} private: string m_strName;
    • 重載構造函數
      class Student public: Student9{m_strName — Student(string name) {m_strName = name;} private: string m_strName; Jim
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章