使用C++ struct來定義自定義數據類型

一、什麼是struct

在C++中,struct是一種用於定義自定義數據類型的關鍵字,它可以將不同類型的數據組合起來,形成一個新的數據類型。通常情況下,struct可以包含成員變量和成員函數。

二、如何定義一個struct

struct Person {
    std::string name;
    int age;
    double score;
};

上面的代碼定義了一個名為Person的struct,它包含3個成員變量:name,age和score。其中,name是字符串類型,age和score分別是整型和雙精度浮點型。

三、如何使用struct

結構體變量的定義方式與其他基本類型變量的定義方式相同。

Person p1;  // 定義Person結構體的變量p1

而且可以使用.(點)運算符來訪問結構體中的成員變量。

p1.name = "張三";
p1.age = 18;
p1.score = 90.5;
std::cout << p1.name << "今年" << p1.age << "歲,考了" << p1.score << "分。" << std::endl;

上述代碼就是給p1的成員變量賦值,並且輸出了這些值。

四、struct可以實現面向對象編程

雖然C++中有class關鍵字,但是struct也可以實現面向對象編程的功能。我們可以在struct中定義成員函數,從而實現封裝、繼承和多態等面向對象編程的概念。

struct Person {
    std::string name;
    int age;
    double score;

    double getScore() {
        return score;
    }
};

struct Student : public Person {
    std::string school;

    std::string getSchool() {
        return school;
    }
};

int main() {
    Student s1{"張三", 18, 90.5, "清華大學"};
    std::cout << s1.name << "今年" << s1.age << "歲,在" << s1.getSchool() << "讀書,考了" << s1.getScore() << "分。" << std::endl;
    return 0;
}

在上述代碼中,我們在Person結構體中定義了getScore()函數,接着在Student結構體中用public繼承了Person,再定義了getSchool()函數(本來可以把這個函數寫在父類中的),最後在main函數中實例化一個學生對象s1,並調用了它的getScore()和getSchool()函數。

五、結語

C++中的struct可以很方便地用來定義自定義數據類型,同時也可以實現面向對象編程的功能。掌握這一特性,可以讓我們更好地完成一些複雜的編程任務,提高了編程的效率。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/154766.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-16 14:15
下一篇 2024-11-16 14:15

相關推薦

  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python中的隊列定義

    本篇文章旨在深入闡述Python中隊列的定義及其應用,包括隊列的定義、隊列的類型、隊列的操作以及隊列的應用。同時,我們也會為您提供Python代碼示例。 一、隊列的定義 隊列是一種…

    編程 2025-04-29
  • Python 轉換數據類型

    本文將詳細探討Python中轉換數據類型的方法和技巧,幫助大家更好地處理不同類型的數據。 一、數據類型概述 在Python中,常用的數據類型包括字符串、整數、浮點數、列表、元組、字…

    編程 2025-04-29
  • Python符號定義和使用方法

    本文將從多個方面介紹Python符號的定義和使用方法,涉及注釋、變量、運算符、條件語句和循環等多個方面。 一、注釋 1、單行注釋 # 這是一條單行注釋 2、多行注釋 “”” 這是一…

    編程 2025-04-29
  • Python編程技巧:如何定義一個函數n!,並計算5!

    在這篇文章中,我們將研究如何使用Python編程語言定義一個能夠計算階乘的函數,並且演示如何使用該函數計算5!。 一、階乘函數的定義 在Python中,我們可以使用一個簡單的遞歸函…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29
  • Python定義兩個列表的多面探索

    Python是一種強大的編程語言,開放源代碼,易於學習和使用。通過Python語言,我們可以定義各種數據類型,如列表(list)。在Python中,列表(list)在處理數據方面起…

    編程 2025-04-29
  • Python數據類型分為哪幾種

    Python作為一門非常靈活的編程語言,有着非常豐富的數據類型。Python的數據類型可以分為數字類型、字符串類型、列表類型、元組類型、字典類型和集合類型六種。 一、數字類型 Py…

    編程 2025-04-29

發表回復

登錄後才能評論