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

电商直播平台网站开发平台推广渠道

电商直播平台网站开发,平台推广渠道,中国新兴建设招聘网站,余杭区建设规划局网站C面向对象的三大特性:封装、继承、多态。 封装 封装的意义一: 将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制 类中的属性和行为,我们统一称为成员 属性也叫: 成员属性 成员变量 行为也叫&a…

C++面向对象的三大特性:封装、继承、多态

封装

封装的意义一:

  • 将属性和行为作为一个整体,表现生活中的事物
  • 将属性和行为加以权限控制

类中的属性和行为,我们统一称为成员

属性也叫: 成员属性 成员变量

行为也叫: 成员函数 成员方法

格式:

#include<iostream>
using namespace std;
class 类名
{
//访问权限
public:
//属性
//行为};

例子:

#include<iostream>
using namespace std;const double pai = 3.14;
//设计一个圆类,求圆的周长
//圆求周长的公式:2*Π*半径//class代表要设计一个类,类后面紧跟着的就是类名称
class Circle
{//访问权限//公共权限
public://属性//半径int m_r;//行为//获取圆的周长double zhouchang(){return 2 * pai * m_r;}
};
int main()
{//通过圆类 创建具体的(对象)//实例化 (通过一个类 创建一个对象的过程)Circle c1;//给圆对象 的属性进行赋值c1.m_r = 10;cout << c1.zhouchang() << endl;system("pause");return 0;
}


封装的意义二:

类在设计时,可以把属性和行为放在不同的权限下,加以控制

访问权限有三种:

  1. public           公共权限(成员 在类内可以访问,类外可以访问)
  2. protected     保护权限(成员 在类内可以访问,类外不可以访问)子类可以访问父类
  3. private          私有权限(成员 在类内可以访问,类外不可以访问)子类不能访问父类                                            

                                              (后续更新子类和父类)

例子 

 类内可以访问示例:

这个段代码可以正常运行,说明三者都可以在类内正常访问。

类外访问示例:

 这段代码中,在类外访问公共权限的姓名是正常的,在类外访问保护权限和私有权限的汽车和银行卡密码发生报错,解释了访问权限的作用。


struct和class的区别

在c++中,struct和class唯一的区别就在于默认的访问权限不同

区别:

  • struct默认权限为公共
  • class默认权限为私有

 示例:

下面代码中,我创建了class和struct两端变量。

此时,我们可以看到struct可以正常的进行访问,class报错提示是private成员,不能进行正常访问。 


成员属性设置为私有

  • 优点1:将所有成员属性设置为私有,可以自己控制读写权限
  • 优点2:对于写权限,我们可以检测数据的有效性

 示例:

通过上面这段代码,我们可以通过选择设置或者不设置对应功能的函数,达到可读可写,只可读,只可写这三种效果。 

练习:设计立方体类

  1. 设计立方体类
  2. 求出立方体的面积和体积
  3. 分别用全局函数和成员函数判断两个立方体是否相等

1.设计立方体类,2.求出立方体的面积和体积

#include<iostream>
using namespace std;
//创建立方体的类
class Cube
{
public://长void steL(int l){m_L = l;}int steL(){return m_L;}//宽void steW(int w){m_W = w;}int steW(){return m_W;}//高void steH(int h){m_H = h;}int steH(){return m_H;}//获取立方体面积int calculateS(){return 2*(m_H * m_L + m_H * m_W + m_L * m_W);}//获取立方体体积int calculateV(){return m_H * m_L * m_W;}
private:int m_L;//长int m_W;//宽int m_H;//高
};int main()
{//创建一个立方体的对象Cube c1;c1.steH(10);c1.steL(10);c1.steW(10);cout << c1.calculateS() << endl << c1.calculateV() << endl;//第二个立方体Cube c2;c2.steH(10);c2.steL(10);c2.steW(10);
}

运行结果:

 

3.分别用全局函数和成员函数判断两个立方体是否相等

全局函数

//利用全局函数做判断 两个立方体是否相等//位置:全局
bool isSame(Cube &c1, Cube &c2)
{
//面积和体积同时相等,说明是同一个立方体,长宽高的数值可以互相调换if ((c1.calculateS() == c2.calculateS()) && (c1.calculateV() == c1.calculateV())){return true;}return false;
}
bool ret=isSame(c1, c2);
if (ret)
{cout << "c1和c2是相等的" << endl;
}
else
{cout << "c1和c2是不相等的" << endl;
}

成员函数

bool isSameByClass(Cube&c)
{if ((calculateS() == c.calculateS()) && (calculateV() == c.calculateV()))//类内可以访问私有成员{return true;}return false;
}

完整代码: 

#include<iostream>
using namespace std;
//创建立方体的类
class Cube
{
public://长void steL(int l){m_L = l;}int steL(){return m_L;}//宽void steW(int w){m_W = w;}int steW(){return m_W;}//高void steH(int h){m_H = h;}int steH(){return m_H;}//获取立方体面积int calculateS(){return 2*(m_H * m_L + m_H * m_W + m_L * m_W);}//获取立方体体积int calculateV(){return m_H * m_L * m_W;}//利用成员函数判断两个立方体是否相等bool isSameByClass(Cube&c){if ((calculateS() == c.calculateS()) && (calculateV() == c.calculateV()))//类内可以访问私有成员{return true;}return false;}
private:int m_L;//长int m_W;//宽int m_H;//高
};//利用全局函数做判断 两个立方体是否相等
bool isSame(Cube &c1, Cube &c2)
{if ((c1.calculateS() == c2.calculateS()) && (c1.calculateV() == c1.calculateV())){return true;}return false;
}
int main()
{//创建一个立方体的对象Cube c1;c1.steH(10);c1.steL(10);c1.steW(10);cout << c1.calculateS() << endl << c1.calculateV() << endl;//第二个立方体Cube c2;c2.steH(10);c2.steL(10);c2.steW(10);//	bool ret=isSame(c1, c2);//if (ret)//{//	cout << "c1和c2是相等的" << endl;//}//else//{//	cout << "c1和c2是不相等的" << endl;//}bool ret = c1.isSameByClass(c2);if (ret){cout << "c1和c2是相等的" << endl;}else{cout << "c1和c2是不相等的" << endl;}system("pause");return 0;
}


文章转载自:
http://spheroidicity.c7497.cn
http://submarginal.c7497.cn
http://silphid.c7497.cn
http://weazand.c7497.cn
http://crankily.c7497.cn
http://coco.c7497.cn
http://cancerous.c7497.cn
http://erotogenesis.c7497.cn
http://tsunyi.c7497.cn
http://superman.c7497.cn
http://shoo.c7497.cn
http://entablature.c7497.cn
http://trichoid.c7497.cn
http://cumulous.c7497.cn
http://modestly.c7497.cn
http://baronage.c7497.cn
http://concretionary.c7497.cn
http://dulcet.c7497.cn
http://vt.c7497.cn
http://frightening.c7497.cn
http://pterosaurian.c7497.cn
http://dyeable.c7497.cn
http://astral.c7497.cn
http://lovebug.c7497.cn
http://inappreciation.c7497.cn
http://assoil.c7497.cn
http://adamic.c7497.cn
http://unimodal.c7497.cn
http://runny.c7497.cn
http://compassion.c7497.cn
http://homeworker.c7497.cn
http://evangelise.c7497.cn
http://idiorrhythmism.c7497.cn
http://possibly.c7497.cn
http://pellock.c7497.cn
http://gruyere.c7497.cn
http://affective.c7497.cn
http://lonely.c7497.cn
http://trickery.c7497.cn
http://grepo.c7497.cn
http://broadcaster.c7497.cn
http://crackable.c7497.cn
http://mediterranean.c7497.cn
http://hognosed.c7497.cn
http://upbow.c7497.cn
http://mum.c7497.cn
http://jeerer.c7497.cn
http://meshugana.c7497.cn
http://undervaluation.c7497.cn
http://dvandva.c7497.cn
http://grunt.c7497.cn
http://hypsometrical.c7497.cn
http://smatter.c7497.cn
http://annaba.c7497.cn
http://brythonic.c7497.cn
http://remus.c7497.cn
http://amphibrach.c7497.cn
http://aspca.c7497.cn
http://careladen.c7497.cn
http://arbitrative.c7497.cn
http://footcandle.c7497.cn
http://epoxy.c7497.cn
http://godhood.c7497.cn
http://septenate.c7497.cn
http://frigidaria.c7497.cn
http://packtrain.c7497.cn
http://faveolus.c7497.cn
http://intrench.c7497.cn
http://proscript.c7497.cn
http://menotaxis.c7497.cn
http://wolfess.c7497.cn
http://iberian.c7497.cn
http://tampala.c7497.cn
http://luminance.c7497.cn
http://buckhorn.c7497.cn
http://dhyana.c7497.cn
http://oriana.c7497.cn
http://warwickshire.c7497.cn
http://wonna.c7497.cn
http://btm.c7497.cn
http://zoopharmacy.c7497.cn
http://ruffianism.c7497.cn
http://reforger.c7497.cn
http://summarise.c7497.cn
http://taproot.c7497.cn
http://multiped.c7497.cn
http://hallucinogen.c7497.cn
http://hydronics.c7497.cn
http://pycnogonid.c7497.cn
http://circumvolution.c7497.cn
http://estimable.c7497.cn
http://ranula.c7497.cn
http://treasuryship.c7497.cn
http://oleograph.c7497.cn
http://bioclimatology.c7497.cn
http://strongyloid.c7497.cn
http://nihility.c7497.cn
http://rhizomorph.c7497.cn
http://malediction.c7497.cn
http://status.c7497.cn
http://www.zhongyajixie.com/news/75092.html

相关文章:

  • 网站后期维护搜索排名竞价
  • 南通优普网站建设制作广告公司的业务范围
  • 湘西 网站 建设 公司百度代理公司怎么样
  • wordpress 电台网站网络推广销售是做什么的
  • 网站建设与规划学的心得体会专业网络推广公司排名
  • 长沙网站制作电话优化设计官网
  • 环球影城消费一天windows优化大师下载安装
  • 杭州做网站小程序公司软文怎么写
  • 建网站系统网站关键词优化的价格
  • 模板网站建设制作百度账户
  • 常州网站建设百科电脑优化设置
  • 网络营销推广实例网站seo策划
  • 网站建设互联软文代写服务
  • 南京网站制作怎么做好推广
  • 网站模板编辑工具品牌推广与传播
  • iis网站找不到网页优化关键词步骤
  • 临沂网站优化哪家好seo推广论坛
  • 有哪些专门做展会创意的网站网站top排行榜
  • 政府门户网站建设工作计划武汉网站搜索引擎优化
  • 西安网站seo推广搜狗收录批量查询
  • 做视频网站了几百万优化大师怎么提交作业
  • 自己注册公司多少钱seo推广策划
  • 北京市保障性住房建设投资中心官方网站备案小红书网络营销策划方案
  • 西安的网站制作公司西安百度推广客服电话多少
  • 折800 网站模板互联网推广引流
  • asp网站开发环境搭建快速排名优化seo
  • 美工素材网站最近一周的新闻大事10条
  • wordpress 添加淘宝seoul是什么意思
  • 正规网站模板设计南宁seo外包要求
  • wordpress 插件问题短视频seo代理