1.0 C++远征:数据的封装

4-1数据的封装

1.如何进行数据封装

未进行数据的封装,成员变量容易发生数据的泄露:
939857-20161119130110607-1856083954.png

进行数据的封装(这是面向对象的思想),成员变量设为private属性,只能通过set和get方法来赋值和取值,提高了数据的安全性:

939857-20161119130121779-560383918.png

2.封装的好处

(1)可以对成员变量的赋值范围进行限制

未封装:

939857-20161119130145013-1589511906.png

    `封装后:`

939857-20161119130158873-525911390.png

(2)限定成员变量只可读取不可设置

只提供get方法不提供set方法:

939857-20161119130212248-838166641.png

3.代码演示

#include <iostream>
#include <string>
using namespace std;/**
* 定义类:Student
* 数据成员:名字、性别、学分、学习
*/
class Student
{
public:void setName(string _name){//类内定义方法m_strName = _name;}string getName(){return m_strName;}void setGender(string _gender){m_strGender = _gender;}string getGender(){return m_strGender;}double getScore(){return m_dScore;}void initScore(){m_dScore = 0.0;}void study(double _score){m_dScore += _score;}private:string m_strName;string m_strGender;double m_dScore;
};int main()
{// 实例化一个Student对象stuStudent stu;stu.initScore();// 设置对象的数据成员stu.setName("青阳");stu.setGender("男");stu.study(5.0);stu.study(3.0);// 通过cout打印stu对象的数据成员cout << stu.getName() << " " << stu.getGender() << " " << stu.getScore() << endl;system("pause");return 0;
}

转载于:https://www.cnblogs.com/xiaoqingyang/p/6076612.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows彻底删除php,windows如何删除php

windows如何删除php2020-10-19 07:34:59windows删除php的方法&#xff1a;首先打开windows电脑&#xff1b;然后找到PHP文件夹并选择删除&#xff1b;接着以管理员的身份运行CMD实现MySQL的卸载&#xff1b;最后停止Apache服务并重启电脑即可。推荐&#xff1a;《PHP视频教程》…

全角、半角替换函数

CREATE FUNCTION f_Convert( str NVARCHAR(4000), --要转换的字符串 flag bit --转换标志,0转换成半角,1转换成全角 )RETURNS nvarchar(4000) AS BEGIN DECLARE pat nvarchar(8),step int,i int,spc int IF flag0 SELECT …

将表中的数据自动生成INSERT、UPDATE语句

----------生成自带SET IDENTITY_INSERT 的sql语句&#xff0c;处理不同操作系统间时间导入问题 declare tablename varchar(256)set tablenameD_LawDocuType_TBdeclare ident intdeclare sql varchar(8000)declare sqlValues varchar(8000)declare identUp varchar(1000)decla…

杂论-FTP

FTP 一 简单介绍 FTP 是File Transfer Protocol&#xff08;文件传输协议&#xff09;的英文简称&#xff0c;而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时&#xff0c;它也是一个应用程序&#xff08;Application&#xff09;。基于不同的操作系统有不…

cls_template.php on line 1072,博客 – 联发多彩网页技术博客

$version”19.08.06SF”;date_default_timezone_set(‘Asia/Shanghai’) && error_reporting(0);function _GET($n) { return isset($_GET[$n]) ? $_GET[$n] : NULL; }function _SERVER($n) { return isset($_SERVER[$n]) ? $_SERVER[$n] : ‘[undefine]’; }functio…

python写http post请求的四种请求体

Web自动化测试&#xff08;25&#xff09; HTTP 协议规定 POST 提交的数据必须放在消息主体&#xff08;entity-body&#xff09;中&#xff0c;但协议并没有规定数据必须使用什么编码方式。常见的四种编码方式如下&#xff1a; 1、application/x-www-form-urlencoded 这应该是…

Php的https方法,php获取https协议内容的两种方法

第一种&#xff1a;直接使用函数:file_get_contents();前提是需要php编译时候支持 ssl&#xff0c;也就是加上withopenssl选项&#xff0c;windows下则需要将extentionopenssl.dll选项打开。比如&#xff1a;echo file_get_contents(https://www.paypal.com/c2);即可打印出结果…

java中字节流的选择,求助,java中怎么用字节流读写汉字

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼import java.io.*;public class ReadAndWrite{public static void main(String args[]){FileInputStream fin;FileOutputStream fout;int ch;try{int b;fin new FileInputStream(FileDescriptor.in);fout new FileOutputStream(F…

TFS2010映射工作区问题 路径 XXX 已在工作区 XXX;XXX 中映射

路径 XXX 已在工作区 XXX;XXX 中映射 原因&#xff1a;之前用别的用户登录工作区并映射到该路径。 解决办法&#xff1a;再用之前的用户登录工作区取消映射即可。 备忘&#xff1a;在文件 C:\Documents and Settings\当前用户\Local Settings\Application Data\Microsoft\Team …

Linux就该这么学

第三章&#xff1a;Vim编辑器与Shell脚本 Vim文本编辑器    在Linux系统中配置应用服务&#xff0c;实际上就是在修改它的配置文件。 在热门的Linux操作系统中都会默认安装一款超好用的文本编辑器——“vim”&#xff0c;vim就是vi编辑器的升级版。 Vim能够得到这么多厂商和…

arrayrand php,php中array_rand函数的功能起什么作用呢?

摘要:下文讲述php中array_rand函数的功能讲解&#xff0c;如下所示&#xff1b;array_rand函数功能说明:随机返回数组中的键&#xff0c;当返回键多余一个时&#xff0c;则会返回一个包含键的数组array_rand语法:array_rand(array,number)--------参数说明------array:必填参数…

sqlserver 2008安装总是弹出重启提示

安装VS2008后在安装SQLServer2008出现的问题 运行regedit(打开注册表&#xff09; 删除注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager下的 PendingFileRenameOperations子键

在caffe中使用hdf5的数据

caffe默认使用的数据格式为lmdb文件格式&#xff0c;它提供了把图片转为lmdb文件格式的小程序&#xff0c;但是呢&#xff0c;我的数据为一维的数据&#xff0c;我也要分类啊&#xff0c;那我怎么办&#xff1f;肯定有办法可以转为lmdb文件格式的&#xff0c;我也看了一些源代码…

VS 调用外部DLL时提示“无法嵌入互操作类型”

右击引用的类库&#xff0c;属性——双击嵌入互操作类型&#xff08;改为false&#xff09;即可

fckeditor for php 下载,FCKeditor2.3 For PHP 详细整理的使用参考

参考一首先到&#xff1a;http://www.fckeditor.net去下载FCKeditor放到网站根目录。精简说明:删除所有"_"开头的文件和文件夹删除语言包中除中文和英文以外的语言删除skin目录下除默认皮肤以外的文件夹filemanager/browser/default/connectors/目录下除php以外的文件…

【iCore3应用开发平台】发布 iCore3 应用开发平台出厂代码rev0.0.2

iCore3开发平台固件版本信息【stm32f407】&#xff1a;iCore3 ARM程序 固件版本&#xff1a;rev0.0.2.build005 编译日期&#xff1a;2016/11/19 版本说明&#xff1a; 1、优化示波器直流偏置校准&#xff08;上电检测不到校准文件则自动标准&#xff09; 2、优化触摸部分代码&…

java同步读写,关于java:Collections中的synchronizedMap方法是否同步读写操作

本问题已经有最佳答案&#xff0c;请猛点这里访问。当我做一个收藏.同步DMAP(Somehashmap)时&#xff0c;所有的都可以进入同步地图吗&#xff1f;还是只写同步操作&#xff1f;如果从地图上读到两条线怎么办&#xff1f;威尔是同步的吗&#xff1f;似乎有必要如果一个螺纹被放…

sqlserver备份还原后数据库关系图无法显示问题

执行该条sql语句后就行了 EXEC sp_changedbowner sa

php.ini 安全配置

(1) 打开php的安全模式 php的安全模式是个非常重要的内嵌的安全机制&#xff0c;能够控制一些php中的函数&#xff0c;比如system()&#xff0c;同时把很多文件操作函数进行了权限控制&#xff0c;也不允许对某些关键文件的文件&#xff0c;比如/etc/passwd&#xff0c;但是默认…

mac 删除php56 安装php72,mac php56升级php70

//安装PHP7命令&#xff1a;$ brew install php70//删掉以前安装的PHP5.6//你可以根据自己的情况来修改命令&#xff1a;$ brew unlink php56命令&#xff1a;$ brew link php70//大功告成$ php -v PHP 7.0.0(cli) (built:Dec2 2015 13:06:23) ( NTS )Copyright(c) 1997-2015 T…