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

C++語言程序設(shè)計之類和對象進階(3)

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

1?編程練習(xí)一

????????這一部分介紹C++友元函數(shù)、友元類和this指針。

1.1?友元函數(shù)

????????友元函數(shù),可以在類的成員函數(shù)外部直接訪問對象的私有成員。文章來源地址http://www.zghlxwxcb.cn/news/detail-823962.html

1.1.1?設(shè)計代碼

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
class CCar;//提前聲明CCar類,以便后面的CDriver類使用
class CDriver
{
public:
	void ModifyCar(CCar* pCar);//改裝汽車
};
class CCar
{
private:
	int price = rand() % 1000;
	//聲明友元
	friend int MostExpensiveCar(CCar cars[], int total);
	//聲明友元
	friend void CDriver::ModifyCar(CCar* pCar);
};
void CDriver::ModifyCar(CCar* pCar)
{
	for (int i = 0; i < 5; i++)
	{
		pCar->price += 1000;//汽車改裝后價值增加
		pCar++;
	}
}
int MostExpensiveCar(CCar cars[], int total)
{
	//求最貴汽車的價格
	int tmpMax = -1;
	for (int i = 0; i < total; i++)
	{
		cout << cars[i].price << " ";
		if (cars[i].price > tmpMax) {
			tmpMax = cars[i].price;
		}
	}
	cout << endl;
	return tmpMax;
}
int main()
{
	srand(time(NULL));
	CCar cars[5];
	int tmpMax;
	tmpMax = MostExpensiveCar(cars, 5);
	cout << tmpMax << endl;
	CDriver c;
	c.ModifyCar(cars);
	tmpMax = MostExpensiveCar(cars, 5);
	cout << tmpMax << endl;
	return 0;
}

1.1.2?執(zhí)行結(jié)果

C++語言程序設(shè)計之類和對象進階(3),C++程序設(shè)計,c++,開發(fā)語言,算法
圖1?友元函數(shù)代碼執(zhí)行結(jié)果

到了這里,關(guān)于C++語言程序設(shè)計之類和對象進階(3)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • C++面向?qū)ο蟪绦蛟O(shè)計-基礎(chǔ)入門(超詳細)

    C++面向?qū)ο蟪绦蛟O(shè)計-基礎(chǔ)入門(超詳細)

    目錄 一、c++概述 二、初識c++ 1、第一個c++程序 ?2、c++面向?qū)ο蟮娜筇匦裕ㄖ匾?三、作用域運算符:: 1、使用namespace創(chuàng)建一個命名空間 2、命名空間只能定義在全局 3、 命名空間嵌套 ?4、隨時將新的成員加入命名空間 5、命名空間中 函數(shù)的聲明和實現(xiàn)分開? ?6、

    2024年02月16日
    瀏覽(21)
  • C++面向?qū)ο蟪绦蛟O(shè)計-北京大學(xué)-郭煒【課程筆記(四)】

    C++面向?qū)ο蟪绦蛟O(shè)計-北京大學(xué)-郭煒【課程筆記(四)】

    開始課程:P11 1_1. this指針 課程鏈接:程序設(shè)計與算法(三)C++面向?qū)ο蟪绦蛟O(shè)計 北京大學(xué) 郭煒 課程PPT:github提供的對應(yīng)課程PPT C++是沒有自身編譯器的,需要使用C語言的編譯器,所以C++在編譯時需要把語言轉(zhuǎn)換為對應(yīng)的C語言。 實例1: C++程序到C程序的翻譯:(下圖好理解,

    2024年02月22日
    瀏覽(23)
  • C++面向?qū)ο蟪绦蛟O(shè)計-北京大學(xué)-郭煒【課程筆記(三)】

    C++面向?qū)ο蟪绦蛟O(shè)計-北京大學(xué)-郭煒【課程筆記(三)】

    開始課程:P7 2_2. 構(gòu)造函數(shù) 課程鏈接:程序設(shè)計與算法(三)C++面向?qū)ο蟪绦蛟O(shè)計 北京大學(xué) 郭煒 課程PPT:github提供的對應(yīng)課程PPT 1、成員函數(shù)的一種 名字與類名相同,可以有參數(shù),不能有返回值(void 也不行) 作用是對對象進行初始化,如給成員變量賦初值 如果定義類時沒

    2024年02月19日
    瀏覽(28)
  • Go語言程序設(shè)計(十四)數(shù)據(jù)I/O對象及操作

    ????????Go語言標(biāo)準(zhǔn)庫bufio包,實現(xiàn)了對數(shù)據(jù)I/O接口的緩沖功能。它封裝于接口io.ReadWriter、io.Reader和io.Writer中,并對應(yīng)創(chuàng)建對象ReadWriter、Reader或Writer,在提供緩沖的同時實現(xiàn)了一些文本基本I/O操作功能。 ReadWriter對象可以對數(shù)據(jù)I/O接口io.ReadWriter進行輸入輸出緩沖操作,其結(jié)構(gòu)定

    2024年02月13日
    瀏覽(16)
  • 【高級程序設(shè)計語言C++】特殊類設(shè)計

    拷貝只會放生在兩個場景中:拷貝構(gòu)造函數(shù)以及賦值運算符重載,因此想要讓一個類禁止拷貝,只需讓該類不能調(diào)用拷貝構(gòu)造函數(shù)以及賦值運算符重載即可。 用C++11的話,可以使用特殊的語法來實現(xiàn)一個不能被拷貝的類。在C++11中,可以使用刪除函數(shù)(deleted function)來禁用拷

    2024年02月10日
    瀏覽(23)
  • [ XJTUSE ]JAVA語言基礎(chǔ)知識——第一章 面向?qū)ο蟪绦蛟O(shè)計思想

    類描述了一組有相同 特性 (屬性)和相同 行為 (方法)的對象,類和對象是面向?qū)ο笏枷氲膬蓚€核心概念 · 人類是一種類,每一個具體的人則是這個類的對象 用面向?qū)ο蟪绦騺砟M真實世界 發(fā)現(xiàn)并創(chuàng)建類 發(fā)現(xiàn)類的特征 發(fā)現(xiàn)類的行為 在面向?qū)ο蟪绦蛑?,對象的特征由各種

    2023年04月13日
    瀏覽(230)
  • 【C++ 程序設(shè)計】第 1 章:C++ 語言簡介

    【C++ 程序設(shè)計】第 1 章:C++ 語言簡介

    目錄 一、C++ 語言的發(fā)展簡史 二、C++ 語言的特點 (1)基本的輸入/輸出 (2)頭文件和命名空間 (3)強制類型轉(zhuǎn)換運算符? (4)函數(shù)參數(shù)的默認值? (5)引用和函數(shù)參數(shù)的傳遞 ①?引用的定義 ②?引用在函數(shù)中的使用 (6)const 與指針共同使用 (7)內(nèi)聯(lián)函數(shù)? (8)函數(shù)的

    2024年02月07日
    瀏覽(20)
  • 【高級程序設(shè)計語言C++】初識模板

    【高級程序設(shè)計語言C++】初識模板

    概念: 函數(shù)模板代表了一個函數(shù)家族,該函數(shù)模板與類型無關(guān),在使用時被參數(shù)化,根據(jù)實參類型產(chǎn)生函數(shù)的特定類型版本。 具體格式: templatetypename T1, typename T2,…,typename Tn 返回值類型 函數(shù)名(參數(shù)列表){} 輸出結(jié)果: typename是用來定義模板參數(shù),也可以使用class(切記

    2024年02月15日
    瀏覽(21)
  • 【高級程序設(shè)計語言C++】異常與智能指針

    【高級程序設(shè)計語言C++】異常與智能指針

    當(dāng)我們編寫程序時,可能會遇到各種錯誤和異常情況,例如除以零、訪問無效的內(nèi)存地址等。為了能夠處理這些異常情況,C++提供了異常處理機制。 異常是程序在運行時發(fā)生的意外或錯誤情況。當(dāng)異常發(fā)生時,程序會中斷當(dāng)前的執(zhí)行流程,并跳轉(zhuǎn)到異常處理代碼塊。異常處理

    2024年02月10日
    瀏覽(32)
  • C++語言程序設(shè)計第五版 - 鄭莉(第六章課后習(xí)題)

    C++語言程序設(shè)計第五版 - 鄭莉(第六章課后習(xí)題)

    6-20 實現(xiàn)一個名為 SimpleCircle 的簡單圓類。其數(shù)據(jù)成員 int* itsRadius 為一個指向其半徑值的指針,存放其半徑值。設(shè)計對數(shù)據(jù)成員的各種操作,給出這個類的完整實現(xiàn)并測試這個類。 6-21 編寫一個函數(shù),統(tǒng)計一條英文句子中字母的個數(shù),在主程序中實現(xiàn)輸入輸出。 6-22 編寫函數(shù)

    2023年04月25日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包