c++162 类的封装和访问

怎么样管理类管理对象
在这里插入图片描述
类如何定义对象

#include<iostream>
using namespace std;//求圆的面积
class  MyCirecle
{
public:double m_r;//属性  成员变量double m_s;
public :double getR(){return m_r;}void setR(double r)//成员函数{m_r = r;}double getS(){m_s = 3.14 * m_r * m_r;return m_s;}
protected:
private:
};
//类的封装
void printCircle01(MyCirecle* pC)
{cout << "r:" << pC->getR() << endl;cout << "s:" << pC->getS() << endl;//类封装了成员变量和成员函数 所以可以调用函数
}
void printCircle02(MyCirecle &myc)
{cout << myc.getS() << endl;
}
void printCircle03(MyCirecle myc)
{}
void main()
{MyCirecle c1, c2;c1.setR(10);cout << "c1 s:" << c1.getS() << endl;printCircle01(&c1);cout << "hello.." << endl;return;
}
//面向对象 三大概念 
//封装 继承 多态
//封装:成员的对象和函数 作为一个整体   客观的把事物封装成抽象的类 并且可以把自己的数据和方法只让可信的类或者对象操作 对不可信的进行信息隐藏
//1 属性和方法 封装  2 进行访问控制 
//3 类的内部 类的外部
//4 类的访问控制关键字
//public:修饰的成员变量和函数可以在类的内部和类的外部访问
//private: 修饰的成员变量和函数 只能在内部
///protected 修饰的成员变量和函数 只在内 不在外
class  MyAdvCirecle
{
private:double m_r;//属性  成员变量double m_s;
public :double getR(){return m_r;}void setR(double r)//成员函数{m_r = r;}double getS(){m_s = 3.14 * m_r * m_r;return m_s;}
protected:
private:
};
void main()
{MyAdvCirecle c1, c2;//c1.m_r = 19;//这一行在类的外部 private 不能访问c1.setR(10);return;
}
class  MyAdvCirecle
{
private:double m_r;//属性  成员变量  内部密码 double m_s;
public ://可以被外部喊double getR(){return m_r;}void setR(double r)//成员函数{m_r = r;}double getS(){m_s = 3.14 * m_r * m_r;return m_s;}
protected:
private:
};
struct AAA
{int a;//  不写默认public };

在这里插入图片描述
#program one 防止传递两次
类的声明 和实现分开

#include <iostream>
using namespace std;
#include "MyTeacher.h"
void main()
{MyTeacher t1;t1.setAge(43);cout << t1.getAge() << endl;return;
}
#include "MyTeacher.h"
//函数声明换成函数实现
void MyTeacher::setAge(int age)
{m_age = age;
}int MyTeacher::getAge()
{return m_age;
}
#pragma once //只包含一次class MyTeacher
{
private:int m_age;char m_name[32];
public:void setAge(int age);int  getAge();
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1524187.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

国庆主题——html5+css+js国庆头像框生成

国庆主题——html5cssjs国庆头像框生成 一、前言二、功能展示四、其它五、源码下载 一、前言 国庆头像生成器这个工具可以让我们制作最近非常火爆的国庆主题头像&#xff0c;有多重不同的风格供我们选择&#xff0c;我们可以在这里在线制作头像。 二、功能展示 如下所示&…

基于SSM+MySQL的民宿推荐系统

系统背景 随着经济发展&#xff0c;各类电子产品普及千家万户。网民数量不断增加&#xff0c;网络显然已经成为了人际交流的重要形式。回顾近一个世纪的科技发展史&#xff0c;各类新的信息发布手段均随着时代洪流更新。旧时代是广播&#xff0c;报纸&#xff0c;电视&#xff…

uniapp和vue3中使用vConsole在H5中开启移动端调试

uniapp和vue3中使用vConsole在H5中开启移动端调试 1. 安装vconsole npm install vconsole --save2. 在main.js中全局引入 重新启动项目即可

昂科烧录器支持Fortior Tech峰岹科技的电机驱动专用芯片FU6812V

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中Fortior Tech峰岹科技的高性能电机驱动专用芯片FU6812V已经被昂科的通用烧录平台AP8000所支持。 FU6812V是一款集成电机控制引擎(ME)和8051内核的高性能电机驱动专用芯片&…

Android Auto未来可能支持无线电广播

通过Android Auto&#xff0c;可以在车载收音机上使用 Google 地图、音乐、收听播客&#xff0c;还能获取天气等基本信息。最近&#xff0c;国外科技媒体9to5Google通过分析 Android Auto v12.3 和 v12.4的应用程序的代码发现了一些提示信息&#xff0c;特别提到了 AM、FM、HD …

信创实践(2):利用Leapp工具迁移CentOS至AnolisOS,实现系统升级与自主可控

1. 引言 为了满足用户在CentOS退出后对操作系统使用的诉求&#xff0c;OpenAnolis龙蜥社区正式发布了Anolis OS。越来越多的CentOS客户期望能够迁移到Anolis OS上来。操作系统迁移是一个复杂工程&#xff0c;手工迁移技术要求高&#xff0c;操作复杂度强&#xff0c;需要耗费大…

《‌黑神话:‌悟空》‌游戏攻略‌

时光荏苒&#xff0c;岁月如梭&#xff0c;不知不觉已经来到了2024年的9月份了。 ‌突然想写一篇关于《‌黑神话&#xff1a;‌悟空》‌的游戏攻略‌。 在《‌黑神话&#xff1a;‌悟空》‌这款以中国古代名著《‌西游记》‌为背景的动作角色扮演游戏中&#xff0c;‌玩家将扮…

CSS学习13

CSS例子 学成网 需要使用的图片&#xff1a; 代码&#xff1a; <html><head><style>/*CSS初始化*/* { /*清除内外边框*/padding: 0;margin: 0;}ul {list-style: none; /*清除列表样式*/}.clearfix:before,.clearfix:after { /*清除浮动*/content: &qu…

OpenAI发布GPT-4o mini,3.5从此退出历史舞台?

随着OpenAI在2024年7月18日正式发布GPT-4o Mini&#xff0c;无疑在科技界引发了一场新的风暴。这一创新不仅标志着GPT-3.5模型正式退出历史舞台&#xff0c;更预示着人工智能在自然语言处理领域迈入了一个全新的时代。 之前速度最快的模型一直是GPT3.5&#xff0c;随着后来的GP…

我用 GPT 学占星

最近对占星赶兴趣&#xff0c;但是看到星盘中好多名词&#xff0c;不懂是什么意思&#xff1f;所以直接问 gpt &#xff0c; 发现回答的真的很棒&#x1f389; &#xff01; 假如我想知道各个状态的具体是根据什么数据来显示的&#xff1f; 分分钟解决了我的问题&#xff1b; 我…

以太网通信之UDP

免责声明&#xff1a; 本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下&#xff0c;作者不对因使用本文内容而导致的任何直接或间接损失承担责任&#xff0c;包括但不限于数据丢失、业务中断或其他经济…

毒枸杞事件启示录:EasyCVR视频AI智能监管方案如何重塑食品卫生安全防线

一、方案背景 近年来&#xff0c;食品安全问题频发&#xff0c;引发了社会各界的广泛关注。其中&#xff0c;毒枸杞事件尤为引人关注。新闻报道&#xff0c;在青海格尔木、甘肃靖远等地&#xff0c;部分商户为了提升枸杞的品相&#xff0c;违规使用焦亚硫酸钠和工业硫磺进行“…

CentOS7单机环境安装k8s集群

目录 1、环境准备 2、安装依赖工具 3、配置 Kubernetes 的国内 Yum 源 4. 安装 Kubernetes 组件 5、初始化 Kubernetes 集群 1. 容器运行时没有正常运行 1.1. 可能的原因 1.2. 解决办法 2. 初始化拉取镜像卡住 2.1. 使用国内的镜像源&#xff08;无法解决问题&#x…

JVM下篇:性能监控与调优篇-补充:浅堆深堆与内存泄露

文章目录 补充&#xff1a;浅堆深堆与内存泄露1. 浅堆&#xff08;Shallow Heap&#xff09;2. 保留集&#xff08;Retained Set&#xff09;3. 深堆&#xff08;Retained Heap&#xff09;4. 对象的实际大小5. 支配树&#xff08;Dominator Tree&#xff09;6. 内存泄漏&#…

Windows 11的新游戏手柄键盘现在可让玩家使用Xbox手柄打字

微软已开始测试 Windows 11 中专为 Xbox 控制器设计的全新游戏手柄键盘布局。游戏手柄键盘布局改进了 Windows 11 中的屏幕键盘&#xff0c;因此玩家可以使用 Xbox 控制器在操作系统中打字或导航。 作为 Windows 11 测试版的一部分&#xff0c;游戏手柄键盘目前正在测试中&…

Redis缓存预热方案详解:提升应用性能与用户体验

文章目录 引言1. 为什么需要缓存预热&#xff1f;2. 缓存预热的基本原理2.1 数据选择2.2 加载策略 3. Redis缓存预热方案设计3.1 方案概述3.2 数据选择3.3 加载策略3.4 实现方式 4. 测试与监控4.1 单元测试4.2 监控 5. 总结 引言 在现代Web应用中&#xff0c;缓存技术已经成为…

基因组学中的深度学习

----/ START /---- 基因组学其实是一门将数据驱动作为主要研究手段的学科&#xff0c;机器学习方法和统计学方法在基因组学中的应用一直都比较广泛。 不过现在多组学数据进一步激增——这个从目前逐渐增多的各类大规模人群基因组项目上可以看出来&#xff0c;这其实带来了新的挑…

JAVA基础:JVM中方法的执行过程和方法的重载,递归,可变参数的含义

1 JVM中方法的执行过程 1.1 JVM内存模型 jvm内存&#xff0c;存储java程序执行过程中产生的一些数据。 JVM将内存分成了不同的逻辑区域&#xff0c;存储不同含义&#xff08;类别&#xff09;的数据 JVM内存模型有5种 方法区 &#xff1a; 存储类信息 堆区 &#xff1a; 存…

flux 文生图大模型 自有数据集 lora微调训练案例

参考: https://github.com/ostris/ai-toolkit 目前 Flux 出现了 3 个训练工具 SimpleTuner https://github.com/bghira/SimpleTuner X-LABS 的https://github.com/XLabs-AI/x-flux ai-toolkit https://github.com/ostris/ai-toolkit 待支持:https://github.com/kohya-ss/sd-s…

k8s调度、污点、容忍、不可调度、排水、数据卷挂载

一、Kubernetes的list-watch机制 1、List-watch K8S集群中&#xff0c;通过List-watch机制进行每个组件的协作&#xff0c;保持数据同步。这种设计可以实现每个组件之间的解耦 kubectl配置文件&#xff0c;统一向集群内部apiserver发送命令——通过apiserver把命令发送到各个…