1. 程式人生 > 實用技巧 >C++基礎-類的(有引數)繼承

C++基礎-類的(有引數)繼承

當基類建構函式中需要傳入引數進行構造時,定義子類建構函式時,構造相同名字的基類建構函式,對於基類也可以傳入自身的引數

#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;
}

void
Animal::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表示子類獨有的引數 string
sex; 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, string
TheSex) : Animal(TheName){ sex = TheSex; } int main() { Pig pig("小豬豬", ""); Turbol turtle("小甲魚", ""); cout << "世上每一隻豬都叫" << pig.name << " 性別是" << pig.sex << endl; cout << "世上每一隻烏龜都叫" << turtle.name << " 性別是" << turtle.sex << endl; }