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

以下哪些是b2b类的网站h5下一页

以下哪些是b2b类的网站,h5下一页,termux 安装wordpress,成人本科读出来有用吗C通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。所谓访问权限,就是你能不能使用该类中的成员。 Java、C# 程序员注意,C 中的 publ…

C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。所谓访问权限,就是你能不能使用该类中的成员。

Java、C# 程序员注意,C++ 中的 public、private、protected 只能修饰类的成员,不能修饰类,C++中的类没有共有私有之分。

在类的内部(定义类的代码内部),无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。

在类的外部(定义类的代码之外),只能通过对象访问成员,并且通过对象只能访问 public 属性的成员,不能访问 private、protected 属性的成员。

本节重点讲解 public 和 private,protected 将在继承中讲解。

下面通过一个 Student 类来演示成员的访问权限:

    #include <iostream>using namespace std;//类的声明class Student{private:  //私有的char *m_name;int m_age;float m_score;public:  //共有的void setname(char *name);void setage(int age);void setscore(float score);void show();};//成员函数的定义void Student::setname(char *name){m_name = name;}void Student::setage(int age){m_age = age;}void Student::setscore(float score){m_score = score;}void Student::show(){cout<<m_name<<"的年龄是"<<m_age<<",成绩是"<<m_score<<endl;}int main(){//在栈上创建对象Student stu;stu.setname("小明");stu.setage(15);stu.setscore(92.5f);stu.show();//在堆上创建对象Student *pstu = new Student;pstu -> setname("李华");pstu -> setage(16);pstu -> setscore(96);pstu -> show();return 0;}

运行结果:小明的年龄是15,成绩是92.5李华的年龄是16,成绩是96

类的声明和成员函数的定义都是类定义的一部分,在实际开发中,我们通常将类的声明放在头文件中,而将成员函数的定义放在源文件中。

类中的成员变量 m_name、m_age 和m_ score 被设置成 private 属性,在类的外部不能通过对象访问。也就是说,私有成员变量和成员函数只能在类内部使用,在类外都是无效的。

成员函数 setname()、setage() 和 setscore() 被设置为 public 属性,是公有的,可以通过对象访问。private 后面的成员都是私有的,直到有 public 出现才会变成共有的;public 之后再无其他限定符,所以 public 后面的成员都是共有的。

成员变量大都以m_开头,这是约定成俗的写法,不是语法规定的内容。以m_开头既可以一眼看出这是成员变量,又可以和成员函数中的形参名字区分开。

以 setname() 为例,如果将成员变量m_name的名字修改为name,那么 setname() 的形参就不能再叫name了,得换成诸如name1_name这样没有明显含义的名字,否则name=name;这样的语句就是给形参name赋值,而不是给成员变量name赋值。

因为三个成员变量都是私有的,不能通过对象直接访问,所以必须借助三个 public 属性的成员函数来修改它们的值。下面的代码是错误的:

    Student stu;//m_name、m_age、m_score 是私有成员变量,不能在类外部通过对象访问stu.m_name = "小明";stu.m_age = 15;stu.m_score = 92.5f;stu.show();

简单地谈类的封装

private 关键字的作用在于更好地隐藏类的内部实现,该向外暴露的接口(能通过对象访问的成员)都声明为 public,不希望外部知道、或者只在类内部使用的、或者对外部没有影响的成员,都建议声明为 private。

根据C++软件设计规范,实际项目开发中的成员变量以及只在类内部使用的成员函数(只被成员函数调用的成员函数)都建议声明为 private,而只将允许通过对象调用的成员函数声明为 public。

另外还有一个关键字 protected,声明为 protected 的成员在类外也不能通过对象访问,但是在它的派生类内部可以访问,这点我们将在后续章节中介绍,现在你只需要知道 protected 属性的成员在类外无法访问即可。

有读者可能会提出疑问,将成员变量都声明为 private,如何给它们赋值呢,又如何读取它们的值呢?

我们可以额外添加两个 public 属性的成员函数,一个用来设置成员变量的值,一个用来获取成员变量的值。上面的代码中,setname()、setage()、setscore() 函数就用来设置成员变量的值;如果希望获取成员变量的值,可以再添加三个函数 getname()、getage()、getscore()。

给成员变量赋值的函数通常称为 set 函数,它们的名字通常以set开头,后跟成员变量的名字;读取成员变量的值的函数通常称为 get 函数,它们的名字通常以get开头,后跟成员变量的名字。

除了 set 函数和 get 函数,在创建对象时还可以调用构造函数来初始化各个成员变量,我们将在《C++构造函数》一节中展开讨论。

不过构造函数只能给成员变量赋值一次,以后再修改还得借助 set 函数。这种将成员变量声明为 private、将部分成员函数声明为 public 的做法体现了类的封装性。

所谓封装,是指尽量隐藏类的内部实现,只向用户提供有用的成员函数。

有读者可能会说,额外添加 set 函数和 get 函数多麻烦,直接将成员变量设置为 public 多省事!确实,这样做 99.9% 的情况下都不是一种错误,我也不认为这样做有什么不妥;但是,将成员变量设置为 private 是一种软件设计规范,尤其是在大中型项目中,还是请大家尽量遵守这一原则。

为了减少代码量,方便说明问题,本教程中的类可能会将成员变量设置为 public,请读者不要认为这是一种错误。

对private和public的更多说明

声明为 private 的成员和声明为 public 的成员的次序任意,既可以先出现 private 部分,也可以先出现 public 部分。如果既不写 private 也不写 public,就默认为 private。

在一个类体中,private 和 public 可以分别出现多次。每个部分的有效范围到出现另一个访问限定符或类体结束时(最后一个右花括号)为止。但是为了使程序清晰,应该养成这样的习惯,使每一种成员访问限定符在类定义体中只出现一次。

下面的类声明也是完全正确的:

    class Student{private:char *m_name;private:int m_age;float m_score;public:void setname(char *name);void setage(int age);public:void setscore(float score);void show();};

http://www.khdw.cn/news/24868.html

相关文章:

  • 电商网站建设特色东莞有限公司seo
  • mysql数据做彩票网站网站托管维护
  • 营销最好的网站建设公司免费好用的crm软件
  • 深圳哪家公司需要网站建设的百度怎么推广
  • 做网站怎么挣钱全网seo
  • 用微信小程序怎么做网站制作公司网站大概多少钱
  • 哪个网站能找到做夜场的女孩百度小程序优化
  • 做网站属于什么学科西安百度竞价开户
  • 网站空间买什么的好双桥seo排名优化培训
  • 网站后台如何添加视频九江seo公司
  • 口腔网站模板网络游戏排行榜百度风云榜
  • 手机网站开发学习浏览器网站进入口
  • 网站需要多大的空间互联网广告营销
  • 国外网站翻墙怎么做网络推广外包哪个公司做的比较好
  • wordpress打开文章很慢页面优化的方法有哪些
  • 做网站如何被收录二级网站怎么做
  • 360安全网站怎么做号码认证百度seoo优化软件
  • php网站开发入门到精通教程网络营销服务企业有哪些
  • 大连住房和建设局网站郑州seo线上推广系统
  • sql与网站开发免费大数据分析网站
  • 做网站的图片素材google谷歌搜索
  • 烟台做网站推广的公司哪家好seochinazcom
  • 口碑好的网站建设吉林网络公司
  • 建设主管部门官方网站seo营销网站的设计标准
  • 餐饮网站建设方案2022最新永久地域网名
  • 安卓开发简单网站开发代码下载安卓排名优化
  • 企业品牌网站建设我们的优势百度推广app下载安卓版
  • 一个营业执照可以做几个网站网站seo诊断分析
  • 张家港做外贸网站信阳seo
  • 代理记账公司收费价格seo优化网站优化