结构、权限修饰符、类
结构(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点:
- C++ 结构内部成员变量和成员方法 默认访问权限都是 public
- C++ 类中成员变量以及成员方法 默认访问权限都是 private
解决:使用明确的访问级别 :public、private
额外说明:
- 标准 C++ 库里包含大量丰富的类和函数 string
类的组织,书写规范
- 类的定义代码会放在一个 .h 头文件中,头文件名可以和类名相同 student.h
- 类的具体实现代码,放在一个 .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;
}