【C++学习】类和对象--封装
具有相同性质的对象,我们可以抽象称为类(如:人类,车类
封装
封装是C++面向对象三大特性之一
1.将属性和行为作为一个整体,表现生活中的事物
2.将属性和行为加以权限控制
一.表现事物,属性和行为写在一起
示例1:设计一个圆类,并求其周长
#include<iostream>
using namespace std;
const double PI = 3.14;
//设计一个圆类,求周长
//2*PI*rclass 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博客
(可以学习到将类查分成头文件+源文件的形式)