C++入门经典-例8.3-子类显示调用父类构造函数
生活随笔
收集整理的這篇文章主要介紹了
C++入门经典-例8.3-子类显示调用父类构造函数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1:當(dāng)父類含有帶參數(shù)的構(gòu)造函數(shù)時(shí),創(chuàng)建子類的時(shí)候會(huì)調(diào)用它嗎?答案是通過(guò)顯示方式才可以調(diào)用。
? ? 無(wú)論創(chuàng)建子類對(duì)象時(shí)調(diào)用的是那種子類構(gòu)造函數(shù),都會(huì)自動(dòng)調(diào)用父類默認(rèn)構(gòu)造函數(shù)。若想使用父類帶參數(shù)的構(gòu)造函數(shù),則需要顯式的方式。
2:代碼如下:
// 8.3.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。 // #include "stdafx.h" #include <iostream> using namespace std;class CEmployee //定義CEmployee類 { public:int m_ID; //定義數(shù)據(jù)成員char m_Name[128]; //定義數(shù)據(jù)成員char m_Depart[128]; //定義數(shù)據(jù)成員CEmployee(char name[]) //帶參數(shù)的構(gòu)造函數(shù) {strcpy(m_Name,name);cout << m_Name<<"調(diào)用了CEmployee類帶參數(shù)的構(gòu)造函數(shù)"<< endl; //輸出信息 }CEmployee() //無(wú)參構(gòu)造函數(shù) {strcpy(m_Name,"MR");cout << m_Name<<"CEmployee類無(wú)參構(gòu)造函數(shù)被調(diào)用"<< endl; //輸出信息 }~CEmployee() //析構(gòu)函數(shù) {cout << "CEmployee類析構(gòu)函數(shù)被調(diào)用"<< endl; //輸出信息 } };class COperator :public CEmployee //從CEmployee類派生一個(gè)子類 { public:char m_Password[128];//定義數(shù)據(jù)成員COperator(char name[ ]):CEmployee(name) //顯示調(diào)用父類帶參數(shù)的構(gòu)造函數(shù)。注意格式,自己的構(gòu)造函數(shù):父類的構(gòu)造函數(shù){ //設(shè)置數(shù)據(jù)成員cout << "COperator類構(gòu)造函數(shù)被調(diào)用"<< endl; //輸出信息 }COperator():CEmployee("JACK") //顯示調(diào)用父類帶參數(shù)的構(gòu)造函數(shù){ //設(shè)置數(shù)據(jù)成員cout << "COperator類構(gòu)造函數(shù)被調(diào)用"<< endl; //輸出信息 }~COperator() //析構(gòu)函數(shù) {cout << "COperator類析構(gòu)函數(shù)被調(diào)用"<< endl; //輸出信息 } }; int main(int argc, char* argv[]) //主函數(shù) {COperator optr1; //定義一個(gè)COperator對(duì)象,調(diào)用自身無(wú)參構(gòu)造函數(shù)COperator optr2("LaoZhang"); //定義一個(gè)COperator對(duì)象,調(diào)用自身帶參數(shù)構(gòu)造函數(shù)return 0; } View Code運(yùn)行結(jié)果:
?
轉(zhuǎn)載于:https://www.cnblogs.com/lovemi93/p/7570932.html
總結(jié)
以上是生活随笔為你收集整理的C++入门经典-例8.3-子类显示调用父类构造函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android 5.0 Lollipop
- 下一篇: springMVC图片的上传与下载