24、用C++实现属性

范例:

复制代码
/*
* @endcode
* 
* @note 要求属性类型为基本类型,提供判断值是否被设置属性
*/
#define GET_SET_IF_PROPERTY(type, prop)   \
public: \
    inline void set_##prop(const type& value) {prop##_ = value; is_set_##prop##_ = true;}   \
public:    \
    inline const type& prop() {return prop##_;}   \
    bool is_set_##prop() {return is_set_##prop##_;}  \
private:  \
    type prop##_;  \
    bool is_set_##prop##_ = false;


class IbSeqence
{
    GET_SET_IF_PROPERTY(std::string, testStr)
};

int main()
{
    IbSeqence ib;
    ib.set_testStr("11111111");
    if (ib.is_set_testStr())
    {
        std::cout << ib.testStr() << std::endl;
    }

    system("pause");
    return 0;
}
复制代码

注意:

##:合并操作符

合并操作符将出现在其左右的字符序列合并成一个新的标识符

 

posted @   zwj鹿港小镇  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示