11.1.3重学C++之【封装:成员属性设置为私有】

#include<iostream>
#include<string>
using namespace std;


/*
    4.1 封装
        成员属性设置为私有的优点:
            可以自己控制读写权限
            对于写权限,可以检测数据有效性
*/


class Person{

private:
    string name; // 自定义为可读可写权限
    int age; // 自定义为可读可写权限,限制0~150
    string lover; // 自定义为只写权限

public:
    // 设置对外接口,写即设置,读即获取
    void set_name(string _name){
        name = _name;
    }
    string get_name(){
        return name;
    }
    void set_age(int _age){
        if (_age<0 || _age>150){
            age = 0; // 初始化默认值
            cout << "输入有误" << endl;
            return;
        }
        age = _age;
    }
    int get_age(){
        //age = 0; // 初始化
        return age;
    }
    void set_lover(string _lover){
        lover = _lover;
    }

};


int main(){
    Person p;
    p.set_name("张三");
    cout << p.get_name() << endl;
    //p.set_age(1000);
    p.set_age(25);
    cout << p.get_age() << endl;
    p.set_lover("悠亚");

    return 0;
}

posted @ 2021-03-14 18:30  yub4by  阅读(34)  评论(0编辑  收藏  举报