c++筆記

什么是類,什么是對象?

c語言:int a=10;

  1. int表示整數(shù)類,這是系統(tǒng)自帶的一個類,a是這個類的一個對象。
  2. float,char都是系統(tǒng)自帶的類。

面向對象的編程

1.創(chuàng)建自己的類
2.創(chuàng)建自己的對象
3.舉例:學生類:student。對象張三李四,比如int a;int b。

如何創(chuàng)建自己的類

1.形式:

class student  //這個大括號里的叫類的定義
{
    string name;  //學生的名字
    int age;  //學生的年齡
}
  • 類名:student
  • 類里兩個內容,年齡,名字,叫做類的成員數(shù)據(jù),或者叫屬性,類比int a=10;10就是a的屬性,
  • 到這為止,類和c語言的結構體還是一樣的。

公有和私有的初步概念

在類的定義里,形式如

class student //這個大括號里叫做類定義
{
public:
    string name;
private:
    int age;
}
  • name公有
    類的外部(主函數(shù)里或者其他類)可以讀寫name的值
  • age私有
    類的外部外面看不到
  • 可以只有public
    可以將名字和年齡都寫在public,初學者可以先不寫private。
    沒有private的類相當于結構體

如何使用一個類

  • 類被重新定義后,就創(chuàng)建類的對象,形式和int a一樣;
    student aa;
    創(chuàng)建一個student類的對象,名字叫aa
    aa.age=20;
    給aa的屬性賦值,和結構體一樣

什么是成員函數(shù)

成員函數(shù)的重載

和c語言一樣,成員函數(shù)也可以重載。
==不同函數(shù)可以有相同的函數(shù)名,通過不同的輸入?yún)?shù)來識別。函數(shù)的重載。==

class student
{
public:
    int age;
    string name;
    bool set(int a);//兩個函數(shù)名字一樣,但輸入格式不一樣
    bool set(string a);//這兩個函數(shù)定義略過,name=a;return true即可。
}

第一階段總結

1.類(學生,類定義里要寫成員和方法的聲明)
2.對象(aa)
3.成員數(shù)據(jù)(年齡和名字,又叫屬性)
4.成員函數(shù)(set,給年齡賦值,又叫方法,具體內容寫在類的外面)

一個面向對象的代碼最少有三部分

1.類的定義;
2.成員函數(shù)的定義;
3.創(chuàng)建對象然后調用方法;

構造函數(shù)

  • student aa,創(chuàng)建aa對象,aa有默認值嗎?
    如果有構造函數(shù),那aa就有默認值。

  • 為什么要構造函數(shù)?
    建立一個對象aa,要給他的年齡和名字分別賦值,那就要寫兩行代碼set(“張三”);set(20),使用構造函數(shù)后,即使你有再多的成員數(shù)據(jù),不用一一寫出。只用寫set(aa)即可。
    ==構造函數(shù)的本質即對象初始化。==

  • 構造函數(shù)的名字必須和類的名字一樣。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • <center>C++ 筆記 - 基礎語法篇</center> this 指針 在 C++ 中,每一個對象都能通過...
    MacLeon閱讀 438評論 0 0
  • 1. 讓自己習慣C++ 條款01:視C++為一個語言聯(lián)邦 為了更好的理解C++,我們將C++分解為四個主要次語言:...
    Mr希靈閱讀 2,994評論 0 13
  • 1. i++和++i哪個效率更高 從內建數(shù)據(jù)類型來看,去除編譯器優(yōu)化的影響,兩者都只是簡單地用于增加一元操作數(shù),沒...
    涼夜lrs閱讀 665評論 0 0
  • Android Studio 編譯原生庫的默認編譯工具是 CMake。由于很多現(xiàn)有項目都使用 ndk-build ...
    萍水相逢_程序員閱讀 1,628評論 0 0
  • cpp技術知識點筆記: 1:list 和 vector的實現(xiàn)區(qū)別? list空間按需分配,是鏈表類型,內存不一定連...
    小熊之怒閱讀 287評論 0 0

友情鏈接更多精彩內容