使用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/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

发表回复

登录后才能评论