C++基礎-類的(有引數)繼承
阿新 • • 發佈:2020-07-19
當基類建構函式中需要傳入引數進行構造時,定義子類建構函式時,構造相同名字的基類建構函式,對於基類也可以傳入自身的引數
#include <iostream> using namespace std; class Animal{ public: void eat(); void sleep(); void drool(); Animal(string TheName);//子類的輸入引數 string name; }; Animal::Animal(string TheName) { name = TheName; } voidAnimal::eat() { cout << "正在吃" << endl; } void Animal::sleep() { cout << "正在睡" << endl; } void Animal::drool() { cout << "正在留口水" << endl; } class Pig:public Animal{ public: Pig(string TheName, string TheSex); //TheName表示與父類相同的引數,TheSex表示子類獨有的引數 stringsex; void climb(); }; class Turbol:public Animal{ public: Turbol(string TheName, string TheSex); string sex; void swim(); }; Pig::Pig(string TheName, string TheSex) : Animal(TheName){ //TheName表示與父類相同的輸入引數, TheSex表示子類獨有的輸入引數 sex = TheSex; } Turbol::Turbol(string TheName, stringTheSex) : Animal(TheName){ sex = TheSex; } int main() { Pig pig("小豬豬", "女"); Turbol turtle("小甲魚", "男"); cout << "世上每一隻豬都叫" << pig.name << " 性別是" << pig.sex << endl; cout << "世上每一隻烏龜都叫" << turtle.name << " 性別是" << turtle.sex << endl; }