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;
    }
    
  • 相关阅读:
    mysql--连接查询(内外连接)
    Mysql--select基础查询
    Mysql--数据定义语言(DDL)
    Mysql--数据操作语言(DML)
    java--String、StringBuilder、StringBuffer的解析和比较?
    Java--equals和 == 的比较和equals()、HashCode()的重写
    Mysql--数据类型
    Mysql--约束
    SpringCloud版本说明
    springBoot 发送邮件
  • 原文地址:https://www.cnblogs.com/xiaoqingyang/p/6076612.html
Copyright © 2011-2022 走看看