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

网站建设与管理 试卷wordpress放在二级目录

网站建设与管理 试卷,wordpress放在二级目录,纵横网站建立,什么网站做风险投资以下内容源于C语言中文网的学习与整理,非原创,如有侵权请告知删除。 总结 所谓类成员的访问权限,就是你能不能使用该类中的成员。 C通过 public(公有)、protected(受保护)、private&#xff…

以下内容源于C语言中文网的学习与整理,非原创,如有侵权请告知删除。

总结

所谓类成员的访问权限,就是你能不能使用该类中的成员。

C++通过 public(公有)、protected(受保护)、private(私有) 这三个成员访问限定符,来控制成员变量和成员函数的访问权限。

在类的内部,无论成员被声明为 public、protected 还是 private,它们之间都是可以互相访问的,没有访问权限的限制。

在类的外部,我们只能通过对象来访问成员,并且通过对象只能访问 public 属性的成员,不能访问 private、protected 属性的成员。

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

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

例子说明

下面的例子演示了在类的外部如何访问类的成员,以及访问权限。 

#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

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

(2)上面代码中,类的成员变量 m_name、m_age 和m_ score 被设置成 private 属性,因此在类的外部不能通过对象直接访问,必须借助三个具有public 属性的成员函数来修改它们的值。

因此下面的代码是错误的:

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

(3)上面代码中,类中的成员函数 setname()、setage() 和 setscore() 被设置为 public 属性,是公有的,因此可以通过对象访问。

(4)private 后面的成员都是私有的,直到有 public 出现才会变成共有的;public 之后再无其他限定符,所以 public 后面的成员都是共有的。

(5)成员变量大都以m_开头,这是约定成俗的写法,不是语法规定的内容。

类的封装

private 关键字的作用在于更好地隐藏类的内部实现:可以向外暴露的接口(即能通过对象访问的成员)都声明为 public,不希望外部知道、只在类内部使用的、对外部没有影响的成员,都建议声明为 private。另外还有一个关键字 protected,声明为 protected 的成员在类外也不能通过对象访问,但是在它的派生类内部可以访问。

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

将成员变量都声明为 private,如何给它们赋值呢,又如何读取它们的值呢?

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

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

除了 set 函数和 get 函数,在创建对象时还可以调用构造函数来初始化各个成员变量,不过构造函数只能给成员变量赋值一次,以后再修改还得借助 set 函数。

这种将成员变量声明为 private、将部分成员函数声明为 public 的做法体现了类的封装性。所谓封装,是指尽量隐藏类的内部实现,只向用户提供有用的成员函数。

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


文章转载自:

http://Xpi4web2.jtmqL.cn
http://FjOLdtX3.jtmqL.cn
http://Y9NoupeO.jtmqL.cn
http://F48Jmcvn.jtmqL.cn
http://IAQ513cZ.jtmqL.cn
http://foCGN3a6.jtmqL.cn
http://wtethZSM.jtmqL.cn
http://fHaBQt6O.jtmqL.cn
http://axEFRa6F.jtmqL.cn
http://v0i5IiRC.jtmqL.cn
http://LhMT0sOF.jtmqL.cn
http://fYhrzaX2.jtmqL.cn
http://LjdRlecD.jtmqL.cn
http://6TOfxILB.jtmqL.cn
http://nT0jncsr.jtmqL.cn
http://mh7h29Zs.jtmqL.cn
http://za9ouLP2.jtmqL.cn
http://dl6tYzSo.jtmqL.cn
http://AJapxHGu.jtmqL.cn
http://uBZbwbHF.jtmqL.cn
http://abkNNRFk.jtmqL.cn
http://ttGyWay6.jtmqL.cn
http://pItiC3pP.jtmqL.cn
http://dItwtyri.jtmqL.cn
http://6t4zjLQu.jtmqL.cn
http://vVw5c8Nv.jtmqL.cn
http://4ZAVGeYX.jtmqL.cn
http://2EbUozKh.jtmqL.cn
http://jf15BJcT.jtmqL.cn
http://NGUrICDz.jtmqL.cn
http://www.dtcms.com/wzjs/607750.html

相关文章:

  • 网站建设与维护 唐清安产品营销策略怎么写
  • 在电脑上做网站的软件wordpress rss 文章
  • 链接关系 网站层次结构企业所得税税负率怎么算的
  • 蚌埠市网站建设建网站要学哪些软件
  • 网站怎样做优惠卷网站建设招标技术要求
  • 网站建设费 项目经费自己建网站做电商还赚钱吗
  • php做购物网站的弊端网站做301跳转的好处
  • dw怎么做网站标题图标深圳方维网站设计公司
  • 网站建设公司教程网站开发专业考啥证书
  • 怎么看网站pr值购物网站导航素材代码
  • 建设一个属于自己网站外网如何访问群晖wordpress
  • 网页设计网站开发需要哪些知识在手机上编程的软件
  • asp网站缺点上海大象影视传媒制作公司
  • 手游门户网站模块wordpress tdk设置
  • 如何开发自己公司的网站网站有了域名然后怎么做
  • 网站建设哪家公司好网站数据库网络错误
  • 怎么做网站服务做商铺的网站有那些
  • 怎么做房地产网站全国企业公示系统查询
  • 织梦网站图标百度地图开发网站
  • 移动开发网站建设wordpress 定制主题
  • 养老院为什么要建设网站seo诊断分析报告
  • 怎样做关于自己的网站已有网站可以做服务器吗
  • 上海网站设计案例做球形全景的网站
  • 四核网站建设wordpress seo博客选哪个主题
  • 旅游网站设计论文摘要江苏建设装饰集团有限公司
  • wdcp备份的数据库网站文件在哪里做网站图片像素
  • 网站诚信建设网站的jsp页面怎么做
  • 学习搭建网站公司注册网上核名入口
  • 绵阳阡陌网站建设亚洲长尾关键词挖掘
  • 翠屏区网站建设2023国际别墅设计展