导航菜单

结构体和类

C++ / 结构体和类

50%
结构体简介

结构体是C++中的一种用户自定义数据类型,用于将不同类型的数据组合在一起。

// 结构体定义
struct Student {
    string name;      // 成员变量
    int age;
    double gpa;
};

// 创建结构体变量
Student student1;
student1.name = "张三";  // 访问成员
student1.age = 20;
student1.gpa = 3.8;

// 创建并初始化
Student student2 = {"李四", 22, 3.9};

// 结构体数组
Student class_roster[30];

// 结构体指针
Student* ptr = &student1;
cout << ptr->name;    // 使用箭头操作符访问成员
cout << (*ptr).age;   // 等价于 ptr->age

// 结构体作为函数参数
void printStudent(Student s) {
    cout << "姓名: " << s.name << endl;
    cout << "年龄: " << s.age << endl;
    cout << "GPA: " << s.gpa << endl;
}

// 使用引用避免复制
void updateGPA(Student& s, double newGPA) {
    s.gpa = newGPA;  // 修改原始结构体
}

// 结构体中的函数
struct Rectangle {
    double width;
    double height;
    
    // 结构体中的函数
    double area() {
        return width * height;
    }
    
    double perimeter() {
        return 2 * (width + height);
    }
};