您的位置:

使用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可以很方便地用来定义自定义数据类型,同时也可以实现面向对象编程的功能。掌握这一特性,可以让我们更好地完成一些复杂的编程任务,提高了编程的效率。

使用C++ struct来定义自定义数据类型

2023-05-13
C++数据类型详解:从基本类型到自定义类型

C++是一种强类型语言,它要求程序员在编程时要定义每一个变量的类型,这就是C++数据类型的作用。C++数据类型包括内置数据类型和用户自定义数据类型。本文将从多个方面对C++的数据类型做详细的阐述。 一

2023-12-08
C++数据类型详解:从基本类型到自定义类型

C++是一种强类型语言,它要求程序员在编程时要定义每一个变量的类型,这就是C++数据类型的作用。C++数据类型包括内置数据类型和用户自定义数据类型。本文将从多个方面对C++的数据类型做详细的阐述。 一

2023-12-08
C++数据类型:常用数据类型及其定义

2023-05-13
C++中的Class:定义自定义数据类型

2023-05-13
C++变量类型:定义不同类型的数据

2023-05-13
基础c语言笔记,C语言笔记

2023-01-06
c语言未知类型,c++使用了未定义类型

2023-01-06
一篇c语言笔记,c语言入门笔记

2022-12-02
常见数据类型及其应用:从基础类型到自定义类型

2023-05-13
c到c语言笔记的简单介绍

2022-11-24
使用C++定义数组存储数据

一、数组的定义和创建 C++中的数组是一种常用的数据结构,可以用于存储一系列类型相同的数据。定义数组时需要指定数组的数据类型和元素个数,并可以使用循环语句对数组元素进行遍历和操作。 // 定义一个长度

2023-12-08
c语言知识笔记,c语言最全笔记

2023-01-04
用C++定义二维数组

一、二维数组的定义 在C++中,二维数组是一种特殊的数据类型,是由一组有序的元素组成的矩阵。其定义方式为: type array_name [row_size][column_size]; 其中,ty

2023-12-08
c到c语言笔记,cc在c语言

2022-11-27
c语言struck结构体,结构类型struct

2022-12-01
c语言电话定义,c语言电话本

2022-11-27
变量定义c语言,c语言中的变量定义

2023-01-03
C++结构体数组:定义和使用详解

一、什么是结构体数组 结构体是C语言和C++语言中的一种构造类型,结构体可以将多个不同的数据类型组合在一起成为一个新的数据类型。而结构体数组,则是将多个相同的结构体按照一定顺序存储在一起形成一个数组。

2023-12-08
使用typedef简化结构体类型定义

2023-05-13