C++ 如何从不同的类处理私有变量 void用户::BuyApple(){ 而(1){ coutqq; 如果(qq==0) 返回; 如果(qq=(qq*200)){ 发票+=qq; 工资-=(qq*200); showsalary(); } 否则{ cout
您可以允许用户类通过将其声明为Fruit的C++ 如何从不同的类处理私有变量 void用户::BuyApple(){ 而(1){ coutqq; 如果(qq==0) 返回; 如果(qq=(qq*200)){ 发票+=qq; 工资-=(qq*200); showsalary(); } 否则{ cout,c++,C++,您可以允许用户类通过将其声明为Fruit的朋友来访问Fruit类的私有变量,即 问题是,这真的是你想要的吗?私有变量通常用于不应该被其他类更改的东西。如果你想从另一个类访问私有变量,你应该在该类中实现一个公共方法,例如get/set方法 这样,您将保持变量的可见性除非您发布用户和水果类,否则没有人可以回答 在此之前,请思考面向对象编程是关于什么的:将数据和行为封装到软件组件中。类中私有变量背后的思想是,您需要提供公共方法来更新它们。如果不提供方法,则意味着您不希望在类外更改值 将公共方法添加到拥
朋友来访问Fruit类的私有变量,即
问题是,这真的是你想要的吗?私有变量通常用于不应该被其他类更改的东西。如果你想从另一个类访问私有变量,你应该在该类中实现一个公共方法,例如get/set方法
这样,您将保持变量的可见性除非您发布用户
和水果
类,否则没有人可以回答
在此之前,请思考面向对象编程是关于什么的:将数据和行为封装到软件组件中。类中私有变量背后的思想是,您需要提供公共方法来更新它们。如果不提供方法,则意味着您不希望在类外更改值
将公共方法添加到拥有要更改的变量的类中。在代码中要更新这些方法的地方调用这些方法。私有成员的目的是在不希望外部访问它们时阻止外部访问它们。如果要允许访问,则必须为用户提供一种设置值的方法。H下面是一个关于Fruit类的setter方法的示例,该方法允许用户设置苹果的数量
class Fruit {
friend class User;
/* Rest of class */
}
这就是private
variables的全部要点-不允许从类外修改这些变量。如果您想更改这些变量的值,请为此创建公共方法,或将这些变量公开。但为什么水果店会让客户设置其库存编号?自助结帐?可能是“setter”如果这是setter中的全部内容,那么为什么不将其公开?通过将其放入getter和setter,您可以在一定程度上控制其修改方式。
class Fruit {
friend class User;
/* Rest of class */
}
void Fruit::setNumberOfApples(int newNumApples)
{
numofApples = newNumApples;
}