具有相同性质的对象,我们可以抽象称为类(如:人类,车类
封装
封装是C++面向对象三大特性之一
1.将属性和行为作为一个整体,表现生活中的事物
2.将属性和行为加以权限控制
一.表现事物,属性和行为写在一起
示例1:设计一个圆类,并求其周长
#include<iostream>
using namespace std;
const double PI = 3.14;
//设计一个圆类,求周长
//2*PI*r
class circle //定义一个圆类
{
//访问权限:公共权限
public:
//属性:半径
int m_r;
//行为:获取周长
double cal()
{
return 2 * PI * m_r;
}
};
int main()
{
circle c1;//通过圆类创建具体的圆
c1.m_r = 10;//给圆的半径赋值
cout << "圆的周长为" << c1.cal() << endl;
system("pause");
return 0;
}
示例2:设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名的学号
#include<iostream>
using namespace std;
const double PI = 3.14;
//设计一个圆类,求周长
class student //定义一个学生类
{
//访问权限:公共权限
public:
//属性:姓名,学号
string m_name;
int m_id;
//行为:获取学生信息
void showstu()
{
cout << "姓名:" << m_name << "学号:" << m_id<<endl;
}
//行为:赋值
void setname(string name)
{
m_name = name;
}
void setid(int id)
{
m_id = id;
}
};
int main()
{
student s1;
s1.setname("xxx");
s1.setid(666);
s1.showstu();
system("pause");
return 0;
}
类中的属性和行为统一称为 成员
属性 成员属性 成员变量
行为 成员行为 成员方法
二.访问权限
访问权限有三种(访问修饰符)
1.公共权限 public 成员 在类内可以访问,类外也能访问
2.保护权限 protected 成员 在类内可以访问,类外不可以访问 (儿子可以访问父亲
3.私有权限 private 成员 在类内可以访问,类外不可以访问 (儿子不可以访问父亲
代码可以看:C++ 类访问修饰符 | 菜鸟教程 (runoob.com)
class和struct的区别
唯一区别在于访问权限不同
struct默认权限是公共 public
class默认权限是私有 private
设计案例:
【C++学习】 设计案例1:设计立方体类_想七想八不如11408的博客-CSDN博客
【C++学习】设计案例2:点和圆的关系_想七想八不如11408的博客-CSDN博客
(可以学习到将类查分成头文件+源文件的形式)