日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++入门经典-例8.1-类的继承

發布時間:2023/11/29 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++入门经典-例8.1-类的继承 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1:繼承是面向對象的主要特征(此外還有封裝和多態)之一,它使得一個類可以從現有類中派生,而不必重新定義一個新類。繼承的實質就是用已有的數據類型創建新的數據類型,并保留已有數據類型的特點,以舊類為基礎創建新類,新類包含了舊類的數據成員和成員函數,并且可以在新類中添加新的數據成員和成員函數。舊類被稱為基類或父類,新類被稱為派生類或子類。

2:類的繼承形式如下:

class 派生類名稱標識符:[繼承方式] 基類名稱標識符

{

? ? [訪問控制修飾符:]

? ? [ 成員聲明列表]

}

? ? 繼承方式有3中派生類型,分別為共有型(public)、保護型(protected)和私有型(privated),訪問控制修飾符也是public、protected、private三種類型,成員聲明列表中包含類的成員變量及成員函數,是派生類新增的成員。“:”是一個運算符,表示基類和派生類之間的繼承關系。

3:一個小例子。定義一個員工類,它包含員工ID、員工姓名、所屬部門等信息。

class CEmployee//定義員工類

{

public:

? ? int m_ID;//定義員工ID

? ? char m_Name[128];//定義員工姓名

? ? char m_Depart[128];//定義所屬部門

}

? ? 定義一個操作員類,通常操作員屬于公司的員工,它包含員工ID、員工姓名、所屬部門等信息,此外還包含密碼信息、登錄方法等。

class COperator :public CEmployee//定義一個操作員類,從CEmployee類派生而來

{

public:

? ? char m_Password[128];//定義密碼

? ? bool Login(); ?

}

? ? 操作員類是從員工類派生的一個新類,新類中增加密碼信息、登錄方法等,員工ID、員工姓名等信息直接從員工類中繼承得到。

3:例子代碼如下:

// 8.1.cpp : 定義控制臺應用程序的入口點。 // #include "stdafx.h" #include <iostream> using namespace std; class CEmployee //定義員工類 { public:int m_ID; //定義員工IDchar m_Name[128]; //定義員工姓名char m_Depart[128]; //定義所屬部門CEmployee() //定義默認構造函數 {memset(m_Name,0,128); //初始化m_Name//注意這種用法,可以隨意設置名字和部門memset(m_Depart,0,128); //初始化m_Depart }void OutputName() //定義共有成員函數 {cout <<"員工姓名"<<m_Name<<endl; //輸出員工姓名 } }; class COperator :public CEmployee //定義一個操作員類,從CEmployee類派生而來 { public:char m_Password[128]; //定義密碼bool Login() //定義登錄成員函數 {if (strcmp(m_Name,"MR")==0 && //比較用戶名。比較兩個字符串,設這兩個字符串為str1,str2,若str1==str2,則返回零;若str1>str2,則返回正數;若str1<str2,則返回負數。strcmp(m_Password,"KJ")==0) //比較密碼 {cout<<"登錄成功!"<<endl; //輸出信息return true; //設置返回值 }else{cout<<"登錄失敗!"<<endl; //輸出信息return false; //設置返回值 }} }; int main(int argc, char* argv[]) {COperator optr; //定義一個COperator類對象strcpy(optr.m_Name,"MR"); //訪問基類的m_Name成員strcpy(optr.m_Password,"KJ"); //訪問m_Password成員optr.Login(); //調用COperator類的Login成員函數optr.OutputName(); //調用基類CEmployee的OutputName成員函數return 0; } View Code

運行結果:

? ? ?程序中,CEmployee類是COperator類的基類,也就是父類。COperator類將繼承CEmployee的所有非私有成員(private類成員不能被繼承)。

? ? 用戶在父類中派生子類時,可能存在一種情況,即在子類中定義了一個與父類同名的成員函數,此時稱為子類隱藏了父類的成員函數。

轉載于:https://www.cnblogs.com/lovemi93/p/7565163.html

總結

以上是生活随笔為你收集整理的C++入门经典-例8.1-类的继承的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。