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 @   yub4by  阅读(37)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示