c++ 在 class 中使用 bool 和 set 和 get 函数

c++ using bool in a class with set and get functions

我正在尝试创建一个 class 具有私有属性并使用 set 和 get 函数更改值。但是我似乎无法更改 bool 值

class VideoGames {
    private:    
    bool buy;
    
    public: 
    bool get_buy(){return buy;} 
    void set_buy(bool b){b = buy;}
};
main(){
VideoGames g1;
double price;
cin >> price;
if(price <=100){
        g1.set_buy(true);
    }
else {
        g1.set_buy(false);
}
cout<<"Buy= " << g1.get_buy()<<endl;
return 0;
}

无论价格是多少,它总是打印出 0。我需要更改什么?

你错失了作业; b = buy; 重新分配参数(然后丢弃,因此没有任何变化),您希望 buy = b; 从 参数重新分配属性

当使用“=”符号时,右边会被放在左边,所以不是:

void set_buy(bool b){b = buy;}

写入:

void set_buy(bool b){buy = b;}