C++ 三大特性之一——封装
属性和行为作为整体。
对象是实体,一组相似的对象抽象为类。封装意义:①属性和行为写在一起,表现事物。
语法:class 类名{访问权限:属性 行为}
案例:对已知半径的圆进行周长的求值
案例代码:
#include <iostream>
#include <string>
#include"BlackHorseFunctions.h"
using namespace std;
const double PI=3.14;
class Circle{
public:
double radius;
double CalculatePerimeter(){
return 2*PI*radius;
// 这里为什么能够直接用上类的属性?这是规定吗?
}
};
int main(){
system("chcp 65001");
Circle circle;
circle.radius = 2;
cout<<"半径为"<<circle.radius<<"的圆周长为:"<<circle.CalculatePerimeter()<<"。"<<endl;
return 0;
}
运行结果:
D:\Program\C++C\BlackHorseStudy\cmake-build-debug\Section2Study.exe
Active code page: 65001
半径为2的圆周长为:12.56。
第二个案例:设置学生姓名与ID并展示。
//
// Created by 123 on 2024/1/27.
//
#include <iostream>
#include <string>
#include"BlackHorseFunctions.h"
using namespace std;
class Student{
public:
string stu_name;
string stu_ID;
void print_information(){
cout<<"学生姓名:"<<stu_name<<",学生ID:"<<stu_ID<<endl;
}
void set_student_name(string set_name){
stu_name = set_name;
}
void set_student_ID(string set_ID){
stu_ID = set_ID;
}
};
int main(){
system("chcp 65001");
Student stu_1,stu_2;
cout<<"请输入第一个学生ID信息:";
string stu_ID;
cin>>stu_ID;
stu_1.set_student_ID(stu_ID);
cout<<"请输入第一个学生姓名信息:";
string stu_name;
cin>>stu_name;
stu_1.set_student_name(stu_name);
stu_1.print_information();
system("pause");
return 0;
}
ps:
类中的属性和行为,统一称为成员
属性==》成员属性 | 成员变量
行为==》成员函数 | 成员方法