C++Note 类和对象 封装一
类和对象
C++面向对象的三大特性:封装 继承 多态
C++:万事万物皆为对象,对象上有其属性和行为
例:人为对象,属性有 姓名 年龄 身高 行为有 走 吃饭 玩
车位对象,属性有 轮胎 车灯 方向盘 行为有 载人 开空调
具有相同性质的对象 可以抽象成为 类 人属于人类 车属于车类
封装的意义:
**将属性和行为作为一个整体,表现生活中的事物
**将属性和行为加以权限控制
封装意义一:
在设计类的时候,属性和行为写在一起,表现事物
语法: class 类型 { 访问权限: 属性 / 行为 };
案例:
1 #include <iostream> 2 using namespace std; 3 4 const double PI = 3.14; 5 6 //设计一个圆类 求圆的周长 7 //圆求周长的公式: 2 * PI * 半径 8 //class代表设计一个类 类后面跟着类名称 9 class Circle 10 { 11 //访问权限 12 //公共权限 13 public: 14 //属性(通常为变量):半径 15 int m_r; 16 //行为(通常为函数):获取圆的周长 17 double calculateZC() 18 { 19 return 2 * PI * m_r; 20 } 21 }; 22 int main() 23 { 24 //通过圆类 创建具体的圆(对象) 25 //实例化: 通过一个类 创建一个对象的过程 26 Circle c1; 27 //给圆对象 的属性进行赋值 28 c1.m_r = 10; 29 30 cout << "圆的周长为:" << c1.calculateZC() << endl; 31 system("pause"); 32 return 0; 33 }
案例:
1 #include <iostream> 2 using namespace std; 3 4 class Student 5 { 6 public: 7 // *** 类中的属性和行为 称为 成员 8 // *** 属性:成员属性 or 成员变量 9 // *** 行为:成员函数 or 成员方法 10 //行为:显示姓名和学号 11 string m_Name; 12 int m_Id; 13 void showValue() 14 { 15 cout << "姓名为:" << m_Name <<endl 16 << "学号为:" << m_Id << endl; 17 } 18 //给姓名赋值 19 void setName(string name) 20 { 21 m_Name = name; 22 } 23 void setId(int id) 24 { 25 m_Id = id; 26 } 27 }; 28 int main() 29 { 30 Student s1;//实例化对象 31 s1.setName("嘚嘚"); 32 //s1.m_Id = 101; 33 s1.setId(101); 34 s1.showValue();//显示信息 35 system("pause"); 36 return 0; 37 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)