zoukankan      html  css  js  c++  java
  • 1.0 C++远征:数据的封装

    4-1数据的封装

    1.如何进行数据封装

    未进行数据的封装,成员变量容易发生数据的泄露:

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

    2.封装的好处

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

    未封装:

    	`封装后:`
    

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

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

    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对象stu
    	Student 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;
    }
    
  • 相关阅读:
    定时器
    WPF拖动总结
    将两个不同进程的窗口设置为父子关系
    Docker私有仓库管理
    Dockerfile创建zabbix监控体系
    Dockfile自动创建discuz论坛和可道云
    Docker的自动构建镜像
    Docker简介
    Mapreduce
    分布式文件系统与HDFS
  • 原文地址:https://www.cnblogs.com/xiaoqingyang/p/6076612.html
Copyright © 2011-2022 走看看