20230822(C++)定义一个学生的结构体,包含学生的姓名,年龄,成绩,性别,学生的成绩,姓名,定义为私有权限;定义一个学生类型的结构体变量,设置公有函数用于给学生的成绩和名字进行赋值,(结构体中

文章介绍了如何在C++中定义一个包含姓名、年龄、成绩和性别的学生结构体,设置私有和公有成员变量及函数,实现数据输入和属性访问。
  1. 定义一个学生的结构体,包含学生的姓名,年龄,成绩,性别,学生的成绩,姓名,定义为私有权限;定义一个学生类型的结构体变量,设置公有函数用于给学生的成绩和名字进行赋值,(结构体中的函数:结构体中声明,结构体外定义)
    #include <iostream>
    
    using namespace std;
    struct test
    {
        int age;
        string xb;
        string name1;
        float prive1;
        void fun();
        void set(string name1,float prive1)
        {
    
            name = name1;
            prive = prive1;
        }
    private:
        string name;
    private:
        float prive;
    };
    
    void test :: fun()
    {
        cout << "名字=> " << name << endl;
        cout << "分数=> " << prive << endl;
    }
    
    int main()
    {
        test stu;
        cout << "输入名字=>  ";
        cin >> stu.name1;
        cout << "输入性别=>  ";
        cin >> stu.xb;
        cout << "输入年纪=>  ";
        cin >> stu.age;
        cout << "输入分数=>  ";
        cin >> stu.prive1;
        stu.set(stu.name1,stu.prive1);
        printf("<====================>\n");
        stu.fun();
        cout << "年纪=> " << stu.age << endl;
        cout << "性别=> " << stu.xb << endl;
        printf("<====================>\n");
    
        return 0;
    }
    ---------------------------------------
    输入名字=>  MC
    输入性别=>  男
    输入年纪=>  18
    输入分数=>  95.5
    <====================>
    名字=> MC
    分数=> 95.5
    年纪=> 18
    性别=> 男
    <====================>

     

### 定义学生结构体类型 在编程语言中,定义一个包含学号姓名性别成绩学生结构体类型可以通过多种方式实现。以下是几种常见编程语言中的实现方法。 #### 1. C语言中的结构体定义 在C语言中,结构体是一种用户自定义的数据类型,可以将不同类型的数据组合在一起。定义一个包含学号姓名性别成绩学生结构体类型如下: ```c struct Student { int id; // 学号 char name[50]; // 姓名 char sex; // 性别 float score; // 成绩 }; ``` 上述代码定义一个名为`Student`的结构体,其中包含了四个成员:`id`(学号)、`name`(姓名)、`sex`(性别`score`(成绩)[^1]。 #### 2. C++中的结构体定义C++中,结构体与C语言类似,但支持更多的功能,例如可以直接在结构体定义构造函数。以下是一个示例: ```cpp #include <string> struct Student { int id; // 学号 std::string name; // 姓名 char sex; // 性别 float score; // 成绩 // 构造函数 Student(int id, const std::string& name, char sex, float score) : id(id), name(name), sex(sex), score(score) {} }; ``` 通过构造函数,可以更方便地初始化结构体变量[^2]。 #### 3. Python中的类定义 在Python中,虽然没有直接的结构体概念,但可以通过定义类来实现类似的功能。以下是一个示例: ```python class Student: def __init__(self, id, name, sex, score): self.id = id # 学号 self.name = name # 姓名 self.sex = sex # 性别 self.score = score # 成绩 ``` 使用类的方式可以灵活地定义操作学生对象[^5]。 #### 4. Java中的类定义 在Java中,可以通过定义类来表示结构体的概念。以下是一个示例: ```java public class Student { public int id; // 学号 public String name; // 姓名 public char sex; // 性别 public double score; // 成绩 // 构造函数 public Student(int id, String name, char sex, double score) { this.id = id; this.name = name; this.sex = sex; this.score = score; } } ``` Java中的类定义类似于C++中的结构体,但提供了更强的封装性面向对象特性。 ### 注意事项 - 在C语言中,结构体成员的初始化需要按照顺序进行,不能跳过前面的成员[^4]。 - 使用链表存储学生信息时,可以克服数组需要预先知道数据大小的缺点,但会增加空间开销。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值