C++类和对象之封装
2021/7/12 9:05:58
本文主要是介绍C++类和对象之封装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
面向对象:封装 继承 多态
封装之一:属性和行为作为整体
#include <iostream> #include <string> using namespace std; #define PI 3.14 //设计一个圆类,求圆的周长 class yuan { //访问权限 属性 行为 public: //包含属性和行为。行为一般用函数 int ban; double zhou() { return 2 * PI * ban; } }; int main() { //通过圆类 创建具体的圆(对象) yuan p1; p1.ban = 10; cout << "zhouchang为" << p1.zhou() << endl; return 0; }
设计学生类:
#include <iostream> #include <string> using namespace std; //设计一个学生类,属性有姓名和学号 //可以给姓名和学号赋值,可以显示学生的姓名和学号 //设计学生类 //类中的属性和行为 统一称为成员 //属性 成员属性 或 成员变量 //行为 成员函数 或 成员方法 //属性 class student{ public: //公共权限 //属性 string m_Nmae; //姓名 int ID; //行为 //显示姓名和学号 void showstudent(){ cout << "姓名:" << m_Nmae << "学号为" << ID << endl; } //通过行为给姓名赋值 void fuzhi(string name) { m_Nmae=name; } //同理。也可以给学号赋值 }; int main() { student p1; //实例化 //p1.m_Nmae = "掌上电脑"; p1.ID = 23; p1.fuzhi("张三"); p1.showstudent(); return 0; }
封装之二访问权限
- public 公共权限
- projected 保护权限
- private 私有权限
=======
struct和class 区别
在C++中,唯一的区别就是 默认的访问权限不同。
struct 默认权限为公共 public
class 默认权限为私有 private
#include <iostream> using namespace std; class C1 { int m_A; //默认 私有 }; struct C2 { int m_A; //默认权限 公共 }; int main() { C1 p1; //p1.m_A; 不可以访问 因为私有成员 C2 p2; p2.m_A;
封装之三成员属性私有化
#include <iostream> #include <string> using namespace std; //成员属性设置为私有 //优点1:将所有成员属性设置为私有,可以自己控制读写权限 //优点2:对于写权限。可以检测数据的有效性 class Person { public: //写姓名 void setname(string name) { m_Name = name; } //获取姓名 string getName() { return m_Name; } //获取年龄是一个只读的状态 int getAge() { m_Age = 0; //初始化为0 return m_Age; } private: //姓名 读写 string m_Name; //年龄 只读 int m_Age; //情人 只写 string m_Lover; }; int main() { Person p; p.setname("zhangsan"); //所以年龄不能写入 //p.getAge = 18; 报错 cout << "姓名为" << p.getName() << endl; system("pause"); return 0; }
这篇关于C++类和对象之封装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-19WebSocket入门指南:轻松搭建实时通信应用
- 2024-11-19Nacos安装资料详解:新手入门教程
- 2024-11-19Nacos安装资料:新手入门教程
- 2024-11-19升级 Gerrit 时有哪些注意事项?-icode9专业技术文章分享
- 2024-11-19pnpm是什么?-icode9专业技术文章分享
- 2024-11-19将文件或目录压缩并保留到指定的固定目录怎么实现?-icode9专业技术文章分享
- 2024-11-19使用 tar 命令压缩文件并且过滤掉某些特定的目录?-icode9专业技术文章分享
- 2024-11-18Nacos安装入门教程
- 2024-11-18Nacos安装入门:轻松掌握Nacos服务注册与配置管理
- 2024-11-18Nacos配置中心入门:新手必读教程