国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++初階 類和對象(上)

這篇具有很好參考價值的文章主要介紹了C++初階 類和對象(上)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:C++初階系列,每一期博主都會使用簡單樸素的語言將對應的知識分享給大家,爭取讓所有人都可以聽懂,C++初階系列會持續(xù)更新,上學期間將不定時更新,但總會更的

目錄

一、什么是面向對象編程

二、什么是類和如何定義類

1.類的概念

2.類的特點

3.訪問限定符

4.如何定義類

5.類定義的小細節(jié)

6.類的大小如何計算?

7.this指針

三、下期預告


一、什么是面向對象編程

在C語言中,我們編寫代碼更多地是面向過程進行編寫的,通過分析出求解問題的步驟,然后函數(shù)調用逐步解決問題。比方說洗衣服,在C語言的實現(xiàn)就是打開洗衣機->放衣服進去->倒入洗衣液->關上洗衣機->啟動洗衣機->洗衣機翻滾->洗衣機甩干......如此一步一步地實現(xiàn)。

而在C++中更多的是面向對向對象進行編寫的。洗衣服這個操作,操作的對象便有4個,洗衣機,洗衣液,衣服和人,洗衣服在C++的實現(xiàn)則是使用這4個對象互相交互實現(xiàn)的,而人是不需要去關注洗衣機是如何去洗衣服的,只需要把事情交給洗衣機干就行了。這便是面向過程編程和面向對象編程的區(qū)別。

二、什么是類和如何定義類

1.類的概念

其實在C語言的學習中,我們已經接觸到了類這一內容,那便是我們的結構體, 而在C++中更喜歡將結構體稱作類。在C語言中我們使用struct定義結構體,在C++中我們不僅可以通過struct定義類,也可以通過class定義類。兩種方式幾乎一樣,只有一點是不太一樣的,后面在訪問限定符中我們會講到。

2.類的特點

相比于C語言中結構體的使用,類的使用更顯特別,類的里面不止可以定義成員,還可以定義成員函數(shù),更有趣的是它可以令部分內容為私有,令部分內容為公有。什么是公有呢,在類外面也可以訪問,而私有則相反,只能在類中使用,聽上去是不是有點抽象,沒關系,我們在之后的內容會有詳細的講解。

3.訪問限定符

在講解如何定義類之前我們還要再補充一點,那便是訪問限定符。類的訪問限定符分為三種:public(公有的),protected(被保護的),private(私有的),private和protected在目前的學習中是可看作一樣的,之后需要使用到它們之間的特性時會特別強調,當然這還要很久。回到之前的問題,struct和class有什么區(qū)別?

區(qū)別就在于struct定義的類默認是公有的,class定義的類默認是私有的。

1. public修飾的成員在類外可以直接被訪問
2. protected和private修飾的成員在類外不能直接被訪問
3. 訪問權限作用域從該訪問限定符出現(xiàn)的位置開始直到下一個訪問限定符出現(xiàn)時為止
4. 如果后面沒有訪問限定符,作用域就到 } 即類結束。

4.如何定義類

方法1:聲明和定義全部放在類中

#include<iostream>
using namespace std;
class abc
{
public:
//公有的,意味著可以被外界訪問
	void init()
	//初始化函數(shù)
	{
		_a = 520;
		_b = nullptr;
		_c = 13.14;
	}
	void print()
	//打印函數(shù)
	{
		cout << _a << endl;
		cout << _b << endl;
		cout << _c << endl;
	}
private:
//私有的,不能被外界訪問
	int _a;
	int* _b;
	double _c;
};
int main()
{
	abc a1;
	//創(chuàng)建一個類型為abc的變量a1;
	a1.init();
   //初始化
	a1.print();
	//打印
}

簡單運行下

C++初階 類和對象(上),C++初階,c++,開發(fā)語言?試著訪問下私有,報錯

C++初階 類和對象(上),C++初階,c++,開發(fā)語言

方法2:聲明和定義分離:

在寫類的成員函數(shù)時肯定會有同學想像之前一樣,將多個函數(shù)的定義寫在同一個文件中。這是可以實現(xiàn)的

聲明寫在頭文件中C++初階 類和對象(上),C++初階,c++,開發(fā)語言

定義寫在對應文件中

C++初階 類和對象(上),C++初階,c++,開發(fā)語言

一樣可以運行出正確結果?

C++初階 類和對象(上),C++初階,c++,開發(fā)語言

5.類定義的小細節(jié)

不知道你們有沒有發(fā)現(xiàn),博主在定義類的成員變量的時候在變量之前加了_定義了_a,_b,_c這樣的變量,為什么博主不直接定義a,b,c呢?當我們在進行賦值操作的時候,令成員變量變?yōu)榱硪粋€參數(shù)時,我們書寫的代碼很可能是這樣的,a對應a,b對應b,c對應c。

C++初階 類和對象(上),C++初階,c++,開發(fā)語言

當有同名變量出現(xiàn)的時候,編譯器會根據(jù)就近原則進行運行,也就是令100=100,200=200,300=300并不會真正影響到我們創(chuàng)建的abc中的成員變量,為了方便區(qū)分,我們在創(chuàng)建類的時候,通常會在成員變量前加_或者是后加_,如此便可以很快速的識別出變量的用途,對變量進行對應的賦值。?

C++初階 類和對象(上),C++初階,c++,開發(fā)語言

6.類的大小如何計算?

先說一個結論:類的計算是不包括this指針和成員函數(shù)的,this指針等下會講到。如何計算類的大小,有如下規(guī)則(把結構體換成類即可)

(1) 第一個成員在與結構體變量偏移量為0的地址處。
(2) 其他成員變量要對齊到某個對齊數(shù)的整數(shù)倍的地址處。
對齊數(shù) = 編譯器默認的一個對齊數(shù)與該成員大小的較小值。
VS中默認的值為8
(3) 結構體總大小為最大對齊數(shù)(每個成員變量都有一個對齊數(shù))的整數(shù)倍。
(4) 如果嵌套了結構體的情況,嵌套的結構體對齊到自己的最大對齊數(shù)的整數(shù)倍處,結構體的整
體大小就是所有最大對齊數(shù)(含嵌套結構體的對齊數(shù))的整數(shù)倍。


自定義類型詳解_大海里的番茄的博客-CSDN博客

博主寫的這篇文章有更詳細的解答,感興趣的同學可以去看一下。

7.this指針

學過C語言的同學看這個傳遞變量的過程一定會覺得怪怪的:為什么不用.或者->就能夠修改結構體的成員變量呢(類),那是因為我們C++有一個隱藏的變量被傳遞過去了,那便是this指針,this指針存放了你所傳遞變量的地址? ?且在中所有“成員變量”的操作,都是通過該指針去訪問。只不過所有的操作對用戶是透明的,即用戶不需要來傳遞,編譯器自動完成。

當然你想要顯示的實現(xiàn)變量的訪問過程也是可以的,兩者沒有區(qū)別。如果你之前寫的是C語言,現(xiàn)在一定會很爽QAQ。

最后需要提醒的一點細節(jié)便是this指針為了方便調用一般存儲在寄存器上。

C++初階 類和對象(上),C++初階,c++,開發(fā)語言

C++初階 類和對象(上),C++初階,c++,開發(fā)語言

三、下期預告

下一回我們來聊下構造函數(shù)和析構函數(shù),這周必出餐QAQ

好了,今天的分享到這里就結束了,感謝各位友友的來訪和閱讀,祝各位友友們前程似錦O(∩_∩)O?文章來源地址http://www.zghlxwxcb.cn/news/detail-742626.html

到了這里,關于C++初階 類和對象(上)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • C++初階(八)類和對象

    C++初階(八)類和對象

    ??北塵_ :個人主頁 ??個人專欄 :《Linux操作系統(tǒng)》《經典算法試題 》《C++》 《數(shù)據(jù)結構與算法》 ??走在路上,不忘來時的初心 聲明為static的類成員稱為類的 靜態(tài)成員 ,用static修飾的成員變量,稱之為靜態(tài)成員變量;用static修飾的成員函數(shù),稱之為靜態(tài)成員函數(shù)。靜態(tài)

    2024年02月05日
    瀏覽(19)
  • 【C++初階】類和對象(上)

    【C++初階】類和對象(上)

    ?? 面向過程 C語言是 面向過程的 ,關注的是過程,分析出求解問題的步驟,通過函數(shù)調用逐步解決問題。以洗衣服這件事為例,下圖是C語言完成洗衣服這件事的過程。 ?? 面向對象 C++是 基于面向對象的 ,關注的是對象,將一件事情拆分成不同的對象,靠對象之間的交互完

    2024年02月16日
    瀏覽(22)
  • C++初階 - 3.類和對象(中)

    C++初階 - 3.類和對象(中)

    目錄 1.類的6個默認成員函數(shù) 2.構造函數(shù) 2.2特性 3.析構函數(shù) 3.1 概念 3.2 特性 4. 拷貝構造函數(shù) 4.1 概念 4.2 特征 5.賦值運算符重載 5.1運算符重載? 5.2 賦值運算符重載 5.3 前置++和后置++重載 6.日期類的實現(xiàn) 7.const成員 8.取地址及const取地址操作符重載 如果一個類中什么成員都有,

    2024年02月16日
    瀏覽(24)
  • C++學習之路(C++初階)——類和對象(上)

    C++學習之路(C++初階)——類和對象(上)

    ??歡迎來到T_X_Parallel的博客!! ?????????博客主頁:T_X_Parallel ?????????專欄 : C++初階 ?????????歡迎關注:??點贊??收藏??留言 ?????????友友們的支持是本博主更新的動力 ??本博客主要為學習C++類和對象內容做準備,開頭補充

    2024年02月07日
    瀏覽(27)
  • 【C++初階】第三站:類和對象(中) -- 日期計算器

    【C++初階】第三站:類和對象(中) -- 日期計算器

    目錄 前言 日期類的聲明.h 日期類的實現(xiàn).cpp 獲取某年某月的天數(shù) 全缺省的構造函數(shù) 拷貝構造函數(shù) 打印函數(shù) 日期 += 天數(shù) 日期 + 天數(shù) 日期 -= 天數(shù) 日期 - 天數(shù) 前置++ 后置 ++ 前置 -- 后置-- 日期類中比較運算符的重載 運算符重載 ==運算符重載 != 運算符重載 =運算符重載 運算符

    2024年02月19日
    瀏覽(26)
  • 【C++初階】類和對象——構造函數(shù)&&析構函數(shù)&&拷貝構造函數(shù)

    【C++初階】類和對象——構造函數(shù)&&析構函數(shù)&&拷貝構造函數(shù)

    ========================================================================= 個人主頁點擊直達: 小白不是程序媛 C++系列專欄: C++頭疼記 ========================================================================= 目錄 前言 類的6個默認成員函數(shù) 構造函數(shù) 概念 構造函數(shù)的特性 析構函數(shù) 概念 析構函數(shù)特性 拷貝構

    2024年02月06日
    瀏覽(57)
  • 【C++初階】第三站:類和對象(中) -- 類的6個默認成員函數(shù)

    【C++初階】第三站:類和對象(中) -- 類的6個默認成員函數(shù)

    目錄 前言 類的6個默認成員函數(shù) 構造函數(shù) 概念 特性 析構函數(shù)? 概念 特性 拷貝構造函數(shù) 概念 特征 賦值運算符重載 運算符重載 賦值運算符重載 const成員 const修飾類成員函數(shù) 取地址及const取地址操作符重載 本章總結: ????????有時候我們寫好了一個棧,頭腦中第一件事

    2024年02月20日
    瀏覽(25)
  • 【C++初階】六、類和對象(初始化列表、static成員、友元、內部類)

    【C++初階】六、類和對象(初始化列表、static成員、友元、內部類)

    ========================================================================= 相關代碼gitee自取 : C語言學習日記: 加油努力 (gitee.com) ?========================================================================= 接上期 : 【C++初階】五、類和對象 (日期類的完善、流運算符重載函數(shù)、const成員、“”取地址運算符重

    2024年02月05日
    瀏覽(32)
  • 【C++初階】四、類和對象(構造函數(shù)、析構函數(shù)、拷貝構造函數(shù)、賦值運算符重載函數(shù))

    【C++初階】四、類和對象(構造函數(shù)、析構函數(shù)、拷貝構造函數(shù)、賦值運算符重載函數(shù))

    ========================================================================= 相關代碼gitee自取 : C語言學習日記: 加油努力 (gitee.com) ?========================================================================= 接上期 : 【C++初階】三、類和對象 (面向過程、class類、類的訪問限定符和封裝、類的實例化、類對象模

    2024年02月05日
    瀏覽(32)
  • 【C++初階】類和對象——操作符重載&&const成員函數(shù)&&取地址重載&&日期類的實現(xiàn)

    【C++初階】類和對象——操作符重載&&const成員函數(shù)&&取地址重載&&日期類的實現(xiàn)

    ========================================================================= 個人主頁點擊直達: 小白不是程序媛 C++系列專欄: C++頭疼記 ========================================================================= 目錄 ? 前言: 運算符重載 運算符重載? 賦值運算符重載 前置++和后置++重載 const成員 取地址及cons

    2024年02月06日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包