首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 基礎

C++ 繼承核心概念與語法:從現實類比到代碼實現的入門指南

     編輯:C++ 基礎

繼承的直觀理解

繼承:類與類之間的「是一種」關係。如兒子繼承父親財產,派生類獲得基類的成員變數與成員函數,並可新增自己的成員增強功能。

核心術語

兩大典型應用場景

  1. 擴展現有類:新類與現有類相似,只需增加少量成員 → 繼承避免重寫
  2. 提取共性建基類:多個類有大量相似成員 → 提取共同部分為基類,派生各具體類

語法:派生類聲明

class 派生類名 : [繼承方式] 基類名 {
    // 派生類新增成員
};
  • class Student : public People:Student 派生自 People,public 繼承
  • 繼承方式可選,默認 private

完整入門範例

#include <iostream>
using namespace std;

// 基類:人
class People {
public:
    void setname(char* name) { m_name = name; }
    void setage(int age) { m_age = age; }
    char* getname() { return m_name; }
    int getage() { return m_age; }
private:
    char* m_name;
    int m_age;
};

// 派生類:學生
class Student : public People {
public:
    void setscore(float score) { m_score = score; }
    float getscore() { return m_score; }
private:
    float m_score;
};

int main() {
    Student stu;
    stu.setname("小明");
    stu.setage(16);
    stu.setscore(95.5f);
    cout << stu.getname() << "的年齡是 " << stu.getage()
         << ",成績是 " << stu.getscore() << endl;
}

運行結果

小明的年齡是 16,成績是 95.5

關鍵觀察

  • Student 未定義 setname/setage/getname/getage,但可直接調用 → 繼承獲得
  • m_name/m_age 為 private,派生類不可直接訪問 → 必須通過基類 public 介面
  • Student 新增 m_score/setscore/getscore → 擴展功能

繼承方式預告

public、protected、private 三種繼承方式決定基類成員在派生類中的訪問權限,詳細規則見下節《繼承權限與繼承方式》。

總結

繼承是面向對象復用的核心機制:基類封裝共性,派生類擴展個性。語法簡單(冒號+繼承方式+基類名),威力巨大。掌握「是一種」語義判斷、public/private 邊界設計、共性提取時機,是物件導向設計的入門必修課。

  1. 上一篇文章:
  2. 下一篇文章:
  • --热点文章
  • Copyright © 程式碼之家 All Rights Reserved
    術語別名角色
    基類父類/超類被繼承者,提供共同特徵
    派生類子類繼承者,擁有基類特徵+自身特徵