《零基礎看得懂的C++入門教程 》——(10)面向對象

一、學習目標

  1. 了解C++類是什么
  2. 了解類對象與類型修飾一樣進行創建
  3. 了解了類的屬性如何使用
  4. 了解了類方法的使用方法

目錄

預備第一篇,使用軟件介紹在這一篇,C++與C使用的軟件是一樣的,查看這篇即可:《軟件介紹》
想了解編譯原理和學習方法點這篇,學習方法和一些原理C++與C都是相同的《脫離學習誤區》

《零基礎看得懂的C++入門教程 》——(1)第一個C++程序就讓你知其所以然
《零基礎看得懂的C++入門教程 》——(2)什么是數據類型、變量?一看便會
《零基礎看得懂的C++入門教程 》——(3)表達式花樣挺多鴨
《零基礎看得懂的C++入門教程 》——(4)條件判斷原來如此
《零基礎看得懂的C++入門教程 》——(5) 容我套個娃 循環
《零基礎看得懂的C++入門教程 》——(6)自己動手寫個函數
《零基礎看得懂的C++入門教程 》——(7)小數組玩起來
《零基礎看得懂的C++入門教程 》——(8)搞定二維數組與循環嵌套
《零基礎看得懂的C++入門教程 》——(9)結構體原來如此

推薦

歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~
在這里插入圖片描述

二、了解類的使用方法

2.1 什么是C++類及基本使用方法
類用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。

例如:人是一種類型,擁有年齡、身高、體重、性別等屬性。具體一個人是一個對象,例如小明;小明有年齡、身高、體重、性別等屬性。小紅也是人,所以具有相同屬性。

類變量類變量在整個實例化的對象中是公用的。或者可以理解為屬性。創建一個人的類,類里面有類變量,使用類變量記錄人的年齡、性別、身高等屬性。定義一個類使用關鍵字class,隨后是一個類名,在類名后的花括號中編寫當前類的內容:

class HumanClass{public:char name;char sex;int age;
};

以上代碼創建了一種類型,這種類型具備name名字、sex性別和age年齡這幾個屬性,并且這幾個屬性是公開的;就像你玩游戲一樣,游戲角色的名稱是看得見的,也可以看見是男性還是女性;其中public就是表示在冒號:后定義的變量都是公開內容。我們字使用這些公開屬性時,可以直接創建一個對象后在外部使用。具體使用如下:

#include<iostream>
using namespace std;
class HumanClass{public:char name;char sex;int age;
};
int main() {HumanClass xiaoming;xiaoming.age=11;xiaoming.sex='N';xiaoming.name='M';cout<<"小明的age是:"<<xiaoming.age<<endl;cout<<"小明的sex是:"<<xiaoming.sex<<endl;cout<<"小明的name是:"<<xiaoming.name<<endl;
}

以上代碼創建一個具體類型很簡單,使用HumanClass xiaoming;就可以創建一個HumanClass 這個類型的對象,在這里具體為是xiaoming;這就意味著,xiaoming屬于這一個類別,由于age、sex、name都屬于公開的屬性,那我們就可以去更改他,那么接下來就開始對xiaoming這個類型的屬性進行賦值:

xiaoming.age=11;
xiaoming.sex='N';
xiaoming.name='M';

隨后我們還可以進行輸出:

cout<<"小明的age是:"<<xiaoming.age<<endl;
cout<<"小明的sex是:"<<xiaoming.sex<<endl;
cout<<"小明的name是:"<<xiaoming.name<<endl;

運行程序可以看到結果:

2.2 了解類方法的使用
類方法就是指這個類中定義的函數,這個類具有哪些功能;例如狗有個方法就是發聲,汪汪叫;定一個方法用來輸出汪汪,模擬狗的叫聲。
以下是一個類,名為Dog:

class Dog{public:char name;char sex;int age;void jiao(){cout<<"汪汪叫"<<endl;}
};

在以上類中一個函數,名為jiao,這個jiao的功能是輸出“汪汪叫”。我們首先創建這個類的對象:

Dog wang;

隨后定義屬性值:

wang.age=11;
wang.sex='N';
wang.name='M';

類的方法使用也非常簡單,跟函數使用后的功能一樣:

wang.jiao();

最后輸出一下內容:

cout<<"小明的age是:"<<wang.age<<endl;
cout<<"小明的sex是:"<<wang.sex<<endl;
cout<<"小明的name是:"<<wang.name<<endl;

完整的代碼如下:

#include<iostream>
using namespace std;
class Dog{public:char name;char sex;int age;void jiao(){cout<<"汪汪叫"<<endl;}
};
int main() {Dog wang;wang.age=11;wang.sex='N';wang.name='M';wang.jiao();cout<<"小明的age是:"<<wang.age<<endl;cout<<"小明的sex是:"<<wang.sex<<endl;cout<<"小明的name是:"<<wang.name<<endl;}

結果如下:

三、總結

  1. 了解C++類是什么
  2. 了解類對象與類型修飾一樣進行創建
  3. 了解了類的屬性如何使用
  4. 了解了類方法的使用方法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287610.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287610.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287610.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

appinventor連接MySQL_appinventor如何連接sqlserver數據庫

java中使用jdbc連接sqlserver數據庫步驟&#xff1a;1。JDBC連接SQLServer的驅動安裝,前兩個是屬于數據庫軟件,正常安裝即可(注意數據庫登陸不要使用windows驗證)將JDBC解壓縮到任意位置,比如解壓到C盤programfiles下面,并在安裝目錄里找到sqljdbc。jar文件,得到其路徑開始配置…

淺談JSONP

這是我在13年初寫的文章&#xff0c;當時懵懵懂懂寫下了自己對JSONP的理解。 文章原文 博客 歡迎訂閱 提到JSONP&#xff0c;我當時在網上找了無數帖子也沒有看懂它。那些文章大同小異&#xff0c;都是講到JSONP原理以后就戛然而止&#xff0c;把我們這些初學者搞得云里霧里。所…

Asp.Net Core 7 preview 4 重磅新特性--限流

前言限流是應對流量暴增或某些用戶惡意攻擊等場景的重要手段之一&#xff0c;然而微軟官方從未支持這一重要特性&#xff0c;AspNetCoreRateLimit這一第三方庫限流庫一般作為首選使用&#xff0c;然而其配置參數過于繁多&#xff0c;對使用者造成較大的學習成本。令人高興的是&…

【計算機圖形學】實驗:C#.net環境下采用GDI+圖形特技處理案例教程

一、實驗目的 掌握在.net環境下對圖形特技的處理方法。 二、實驗準備 學習在.net環境下讀取圖像文件、改變顏色等基本知識。 三、實驗內容 在.net環境中實現對圖像的灰度化處理、柔化和銳化、底片濾鏡、淡入淡出以及浮雕、油畫和木刻等藝術效果。 四、實驗過程及步驟 (…

Windows之在終端打開當前目錄的命令

1 問題 Windows在終端打開當前目錄的命令 2 命令如下 1)、通過start命令 start . 2)、通過explorer命令 explorer .3 linux終端打開當前目錄命令如下 nautilus . 4 mac終端打開當前目錄命令如下 open .

孫鐘秀-《 操作系統教程 》(第4版)注釋(稿)

http://www.valleytalk.org/2014/12/30/%E5%AD%99%E9%92%9F%E7%A7%80-%E3%80%82%E3%80%8A-%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%95%99%E7%A8%8B-%E3%80%8B%EF%BC%88%E7%AC%AC4%E7%89%88%EF%BC%89%E6%B3%A8%E9%87%8A%EF%BC%88%E7%A8%BF/轉載于:https://www.cnblogs.com/zen…

Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念區分

如果開發的應用用戶較多&#xff0c;那么必須保證應用在多個版本不同的設備上能夠正確的運行。這就要求對各個版本比較熟悉&#xff0c;知道在什么版本中加入了什么新的功能或特性。但是Android的版本太多了&#xff0c;是個令人頭疼的問題。如果想了解Android的版本差異&#…

mysql交叉編譯 cmake_CMake交叉編譯配置

很多時候&#xff0c;我們在開發的時候是面對嵌入式平臺&#xff0c;因此由于資源的限制需要用到相關的交叉編譯。即在你host宿主機上要生成target目標機的程序。里面牽扯到相關頭文件的切換和編譯器的選擇以及環境變量的改變等&#xff0c;我今天僅僅簡單介紹下相關CMake在面對…

[python opencv 計算機視覺零基礎到實戰] 一 opencv的helloworld

前置條件 說明&#xff1a;本系列opencv實戰教程將從基礎到實戰&#xff0c;若只是簡單學習完python也可以通過該教程完成一般的機器學習編程&#xff1b;文中將會對很多python的基礎內容進行講解&#xff0c;但由于文章定位的原因將不會贅述過多的基礎內容&#xff0c;基礎內…

Android之用setColorFilter在ImageView上面覆蓋一層灰色的圖層

1 問題 在圖片上面覆蓋一層灰色的圖層 2 解決辦法 比如點擊圖片覆蓋黑色 imageView.setColorFilter(ContextCompat.getColor(context, R.color.picture_color_black_80), PorterDuff.Mode.SRC_ATOP); 然后點擊圖片還原回來 imageView.setColorFilter(ContextCompat.getCol…

【計算機圖形學】實驗:VB.net環境下的綜合繪圖與交互技術案例教程

一、實驗目的 掌握在.net環境下的繪圖軟件界面設計與交互技術。 二、實驗準備 學習在.net環境下的界面設計的一般原理與交互技術等基本知識。 三、實驗內容 將前7個實驗內容集成到一個界面下&#xff0c;如直線段、圓、矩形與曲線的繪制填充&#xff0c;以及對圖像的處理&…

IE8 兼容background-size的解決辦法

.bgpic { background-image:url(); background-size:cover; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src,sizingMethodscale); } 注意progid里面的src路徑是絕對路徑或是相對于頁面的路徑。? div class"bgpic"style"width:200px;height:1…

從頭開始敲代碼之《從BaseApplication/Activity開始》

轉載請注明出處王亟亟的大牛之路 其安易持&#xff0c;其未兆易謀&#xff1b;其脆易泮&#xff0c;其微易散。為之于未有&#xff0c;治之于未亂。合抱之木&#xff0c;生于毫末&#xff1b;九層之臺&#xff0c;起于壘土&#xff1b;千里之行&#xff0c;始于足下。為者敗之…

查缺補漏系統學習 EF Core 6 - 原始 SQL 查詢

推薦關注「碼俠江湖」加星標&#xff0c;時刻不忘江湖事這是 EF Core 系列的第五篇文章&#xff0c;上一篇文章盤點了 EF Core 中的幾種數據查詢方式。但是有有時候&#xff0c;我們可能無法用標準的 LINQ 方法完成查詢任務。或者編譯后的 LINQ 查詢&#xff0c;沒有我們想要的…

【python opencv 計算機視覺零基礎到實戰】二、 opencv文件格式與攝像頭讀取

一、學習目標 了解圖片的結構屬性了解如何捕獲視頻了解waitkey的使用方法 目錄 [python opencv 計算機視覺零基礎到實戰] 一、opencv的helloworld [【python opencv 計算機視覺零基礎到實戰】二、 opencv文件格式與攝像頭讀取] 一、opencv的helloworld [[python opencv 計…

python冒泡排序代碼完整_用Python寫冒泡排序代碼

python代碼實現冒泡排序代碼其實很簡單&#xff0c;具體代碼如下所示&#xff1a;代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 def bubbleSort(numbers):for j in xrange(len(numbers),-1,-1):for i in xra…

[C++]VS2005(VC8) 使用 Boost

測試環境&#xff1a;[1] Widnows XP Professional[2] Visual Studio 2005 Team Studio(VC8.0)[3] WinCvs 1.31. 下載 Boost透過 CVS 下載最新版 cvs -d:pserver:anonymousboost.cvs.sourceforge.net:/cvsroot/boost login [詢問密碼時&#xff0c;直接輸入 Enter 略過] cvs …

Android之編譯提示error: Apostrophe not preceded by

1 問題 as編譯提示錯誤如下 error: Apostrophe not preceded by 2 原因 字符串資源文件里面value包含一個單引號 <string name"key">Don t ....</string> 2 解決辦法 1) 加雙引號 <string name"key">"Don t ...."</s…

【ArcObject開發】實驗:ArcGIS Desktop開發方式入門基礎教程

一、實驗目的: 熟練掌握ArcGIS Desktop開發方式。 二、實驗準備: 學習ArcGIS Desktop定制步驟;熟悉VBA編程環境、Active DLL和Active EXE開發一般過程。 三、實驗內容: (1)描述在ArcGIS Desktop環境下定制窗體界面的一般步驟;(2)在VBA環境下編寫宏,實現圖層視圖…

C# WPF后臺動態添加控件(經典)

概述在Winform中從后臺添加控件相對比較容易&#xff0c;但是在WPF中&#xff0c;我們知道界面是通過XAML編寫的&#xff0c;如何把后臺寫好的控件動態添加到前臺呢&#xff1f;本節舉例介紹這個問題。這里要用到UniformGrid布局&#xff0c;UniformGrid 是一種橫向的網格分割、…