结构、权限修饰符、类

结构、权限修饰符、类

结构(struct:自定义的数据结构)

struct student
{
    //  成员变量
    int number;
    char name[100];
    void func(){    //  成员函数(方法)
        number++;
    }
};

//  1. 形参为引用
void func1(student &stu){
    stu.number = 2000;
    strcpy_s(stu.name, sizeof(stu.name), "bjq");
}

//  2. 用指向结构体的指针作为函数形参
void func2(student *stu){
    stu->number = 1010; //  指针调用成员 -> (这是指向运算符)
    strcpy_s(stu->name, sizeof(stu->name), "aclq");
}


int main()
{
    student st; //  定义结构变量
    st.number = 1122;
    st.func();  //  调用成员函数
    strcpy_s(st.name, sizeof(st.name), "zhangsan");
    cout << st.number << endl;
    cout << st.name << endl;
    func1(st);
    cout << st.number << endl;
    cout << st.name << endl;
    func2(&st);
    cout << st.number << endl;
    cout << st.name << endl;
    return 0;
}

权限修饰符(public、private、protected)

struct student
{
    //  成员变量
private:
    int number;
    char name[100];
public:
    void func(){    //  成员函数(方法)
        number++;
    }
};

类简介

C++ 中结构和类及其类似,区别有 2点:

  1. C++ 结构内部成员变量和成员方法 默认访问权限都是 public
  2. C++ 类中成员变量以及成员方法 默认访问权限都是 private

解决:使用明确的访问级别 :public、private

额外说明:

  1. 标准 C++ 库里包含大量丰富的类和函数 string

类的组织,书写规范

  1. 类的定义代码会放在一个 .h 头文件中,头文件名可以和类名相同 student.h
  2. 类的具体实现代码,放在一个 .cpp 文件中 student.cpp
//  student.h
class student{
    public:
        int number;
        char name[100];
        
    public:
        void func();    //  函数定义
};
//  student.cpp
#include "student.h"    //  引入 student 类

void student::func(){   //  函数实现
    number++;
}

在 main 函数中使用

#include "student.h"

int main()
{
    student stu;
    stu.number = 88;
    stu.func();
    cout << stu.number << endl;
    return 0;
}
posted @ 2024-09-17 12:13  爱新觉罗LQ  阅读(2)  评论(0编辑  收藏  举报