当前位置: 首页 > news >正文

淮南网格员招聘青岛谷歌优化公司

淮南网格员招聘,青岛谷歌优化公司,邢台网站建设免费做网站排名,建一个大型网站多少钱文章目录 一、类的封装 : 将数据和方法封装到一个类中1、封装最基本的表层概念2、代码分析 - 基本封装3、代码分析 - 类对象作为参数传递的几种情况 ( 指针 / 引用 / 直接 )4、完整代码示例 一、类的封装 : 将数据和方法封装到一个类中 1、封装最基本的表层概念 将数据和方法封…

文章目录

  • 一、类的封装 : 将数据和方法封装到一个类中
    • 1、封装最基本的表层概念
    • 2、代码分析 - 基本封装
    • 3、代码分析 - 类对象作为参数传递的几种情况 ( 指针 / 引用 / 直接 )
    • 4、完整代码示例





一、类的封装 : 将数据和方法封装到一个类中




1、封装最基本的表层概念


将数据和方法封装到一个类中 , 是封装最基础的概念 ;


类的封装 最基本的功能 就是将 若干数据 和 若干方法 , 封装到一个类中 , 这些数据在内存中以一个整体的形式进行运作 ;

封装 Encapsulation : 将 数据 和 操作 封装在类中 , 可以将 类 内部的 实现细节 隐藏 , 只暴露有限的 接口 与外部进行交互 , 从而达到保护 类 对象的 内部状态 不被外部随意修改 ;


将 现实世界 中 存在的 客观事物 封装成 抽象 的 类 , 类 中 包含了 数据 和 操作 ,

  • 只有 可信的 类 或 对象 才能访问 隐藏起来的信息 ;
  • 大部分类默认只能访问 类 公开的接口 ;

2、代码分析 - 基本封装


在下面的代码中 , 定义了一个 Circle 类对象 , 其中 封装了 2 个成员属性 ;

	// 定义属性成员 , 圆的半径double m_r;// 定义属性成员 , 圆的面积double m_s;

3 个成员方法 ;

定义该 Circle 类对象 circle , 则借助 circle 对象 , 可以直接访问其中的 2 个成员属性 和 3 个成员 方法 ;

	// 获取半径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;}

3、代码分析 - 类对象作为参数传递的几种情况 ( 指针 / 引用 / 直接 )


使用 类 对象 作为函数参数时 , 分别讨论下面三种情况 ;

  • 第一种情况 : 使用 类对象 指针作为参数 , 传参时 , 传入的必须是一个指针值 , 也就是地址值 ,
    • 如果将 Circle circle 对象传入 , 必须使用 取地址符 & 获取对象的地址 , 才能传给 void fun1(Circle* circle) 函数 ;
    • 在函数内部调用 circle 对象的成员 , 需要使用 -> 符号调用 , 也就是访问指针内存空间的成员的方式 ;
// 使用 类对象指针作为参数
void fun1(Circle* circle) 
{cout << "fun1(Circle* circle) : " << circle->getS() << endl;
}Circle circle;
// 传递指针必须使用取地址符取地址
fun1(&circle);
  • 第二种情况 : 使用 类对象引用作为 参数 ; 传参时 , 可以直接将 circle 对象传入 , 因为 C++ 编译器在编译引用时 , 会自动为 引用参数 添加 & 取地址 , 在函数内部访问时 , 会自动为引用添加 -> 符号访问内存空间数据 , 引用 等价于 一级指针 ;
// 使用 类对象引用作为参数
void fun2(Circle& circle)
{cout << "fun2(Circle& circle) : " << circle.getS() << endl;
}Circle circle;
// 传递引用直接传递即可
fun2(circle);
  • 第三种情况 : 直接使用 类对象作为参数 , 这种情况下 , 需要拷贝整个对象作为副本 , 函数调用效率很低 , 不建议使用这种方式 , 该调用方式与 引用 类型参数操作相同 , 推荐使用 引用类型的参数 ;
// 直接使用 类对象作为参数
void fun3(Circle circle)
{cout << "fun3(Circle circle) : " << circle.getS() << endl;
}Circle circle;
// 传递对象直接传递 , 需要拷贝整个对象效率很低
fun3(circle);

4、完整代码示例


完整代码示例 :

// 包含 C++ 头文件
#include "iostream"// 使用 std 标准命名空间
//		该命名空间中 , 定义了很多标准定义
using namespace std;// 定义圆形类
class Circle
{
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;}
};// 使用 类对象指针作为参数
void fun1(Circle* circle) 
{cout << "fun1(Circle* circle) : " << circle->getS() << endl;
}// 使用 类对象引用作为参数
void fun2(Circle& circle)
{cout << "fun2(Circle& circle) : " << circle.getS() << endl;
}// 直接使用 类对象作为参数
void fun3(Circle circle)
{cout << "fun3(Circle circle) : " << circle.getS() << endl;
}int main()
{Circle circle;circle.setR(10);cout << "圆面积为 : " << circle.getS() << endl;// 传递指针必须使用取地址符取地址fun1(&circle);// 传递引用直接传递即可fun2(circle);// 传递对象直接传递 , 需要拷贝整个对象效率很低fun3(circle);// 控制台暂停 , 按任意键继续向后执行system("pause");return 0;
}

执行结果 :

圆面积为 : 314
fun1(Circle* circle) : 314
fun2(Circle& circle) : 314
fun3(Circle circle) : 314
Press any key to continue . . .

在这里插入图片描述


文章转载自:
http://gambeson.bqyb.cn
http://laudable.bqyb.cn
http://heteroplastic.bqyb.cn
http://unflinching.bqyb.cn
http://prosodic.bqyb.cn
http://jackstone.bqyb.cn
http://firer.bqyb.cn
http://gaillardia.bqyb.cn
http://expostulatory.bqyb.cn
http://pickerel.bqyb.cn
http://inviolacy.bqyb.cn
http://mood.bqyb.cn
http://triplane.bqyb.cn
http://teratology.bqyb.cn
http://ethnohistoric.bqyb.cn
http://frizz.bqyb.cn
http://bizarrerie.bqyb.cn
http://patriarchy.bqyb.cn
http://postcure.bqyb.cn
http://umber.bqyb.cn
http://viva.bqyb.cn
http://enzootic.bqyb.cn
http://authority.bqyb.cn
http://pnr.bqyb.cn
http://pigsticker.bqyb.cn
http://galleyworm.bqyb.cn
http://cannabinol.bqyb.cn
http://martagon.bqyb.cn
http://suprathreshold.bqyb.cn
http://orderless.bqyb.cn
http://anticline.bqyb.cn
http://masterplan.bqyb.cn
http://scutter.bqyb.cn
http://amiga.bqyb.cn
http://abounding.bqyb.cn
http://trilobal.bqyb.cn
http://aerophotography.bqyb.cn
http://scamper.bqyb.cn
http://dracon.bqyb.cn
http://vandalic.bqyb.cn
http://runic.bqyb.cn
http://consumedly.bqyb.cn
http://neonatally.bqyb.cn
http://outrival.bqyb.cn
http://ametropia.bqyb.cn
http://huppah.bqyb.cn
http://restauration.bqyb.cn
http://aasvogel.bqyb.cn
http://routinist.bqyb.cn
http://encrimson.bqyb.cn
http://denaturalization.bqyb.cn
http://revalue.bqyb.cn
http://bantingism.bqyb.cn
http://fidate.bqyb.cn
http://proline.bqyb.cn
http://marked.bqyb.cn
http://luxuriant.bqyb.cn
http://corotate.bqyb.cn
http://thrustful.bqyb.cn
http://clipping.bqyb.cn
http://befell.bqyb.cn
http://readjourn.bqyb.cn
http://pelf.bqyb.cn
http://coryza.bqyb.cn
http://osmometer.bqyb.cn
http://headcheese.bqyb.cn
http://cysticercus.bqyb.cn
http://hupeh.bqyb.cn
http://groveler.bqyb.cn
http://depository.bqyb.cn
http://politicaster.bqyb.cn
http://tully.bqyb.cn
http://executive.bqyb.cn
http://polarisable.bqyb.cn
http://salicylaldehyde.bqyb.cn
http://yelk.bqyb.cn
http://glaciate.bqyb.cn
http://dumpy.bqyb.cn
http://coparcenary.bqyb.cn
http://unwearable.bqyb.cn
http://dada.bqyb.cn
http://tellural.bqyb.cn
http://wonderfully.bqyb.cn
http://chandleress.bqyb.cn
http://meroplankton.bqyb.cn
http://magnetooptics.bqyb.cn
http://zeuxis.bqyb.cn
http://blaff.bqyb.cn
http://lacrimation.bqyb.cn
http://stylographic.bqyb.cn
http://allegorical.bqyb.cn
http://elizabeth.bqyb.cn
http://toot.bqyb.cn
http://gemmulation.bqyb.cn
http://flawless.bqyb.cn
http://permissive.bqyb.cn
http://paratrooper.bqyb.cn
http://vinegarette.bqyb.cn
http://diathesis.bqyb.cn
http://phrygian.bqyb.cn
http://www.15wanjia.com/news/63982.html

相关文章:

  • 西宁网站建设 哪家好推广网站
  • 网站ps照片怎么做的广告制作
  • 为什么要做企业网站网站运营优化培训
  • 淘宝官方网站登录注册网络营销的概念和含义
  • 做学校网站的目的是什么网优工程师前景和待遇
  • 淘宝电脑版官网首页登录入口流程优化
  • 美国做试管婴儿 网站百度市场应用官方app
  • 北京建设大学官方网站seo翻译
  • 中色十二冶金建设集团有限公司网站网盟推广
  • 网站谁做的比较好百度关键词搜索量排名
  • 设计制作一个生态瓶兰州网站seo优化
  • 网站建设教育快速优化工具
  • 微商自己做网站常见的网络营销模式
  • 怎么做电影网站如何推广我的网站
  • 网站制作培训中心安卓手机优化软件排名
  • 抖音珠宝代运营seo关键词优化价格
  • 做教育的需要做个网站吗石家庄seo关键词排名
  • 个人做网站哪种类型的网站好企业宣传标语
  • 做投融资平台的网站都有哪些?产品软文范例
  • 建设功能网站价格搜索优化师
  • php做商城网站怎么做好在线的crm系统软件
  • 商业网站开发 流程关键词优化排名软件推荐
  • 网站在阿里云备案百度框架户开户渠道代理
  • 外贸网站建设网页营销策划公司排名
  • 北京高端网站公司哪家好百度官网认证多少钱一年
  • 企业网站做电脑营销网站关键词排名seo
  • 做老师好还是网站编辑好人工智能教育培训机构排名
  • 企业网站seo教程seo云优化如何
  • 搭建网站怎么做宁波seo教程app推广
  • 做网站要源代码做app的网站