如何将具有字符串数据成员的类的对象传递给C ++中的另一个类

Phantomatrixx
#include <iostream>
using namespace std;
class fruit{
    private:
    string name;
    int amount;
    float price;
public:
    void getData(){
        cout <<"Enter name of fruit: ";
        cin.ignore();
        getline(cin, name);
        cout <<"Enter amount: ";
        cin >>amount;
        cout <<"Enter price: $";
        cin >>price;
        cout <<endl;
    }
    void displayData(){
        cout <<"Fruit: " <<name <<endl;
        cout <<"In stock: " <<amount <<endl;
        cout <<"Price: $" <<price <<endl;
    }
};
class seller{
public:
    void display(fruit& obj){
        cout <<"You are a seller!" <<endl <<endl;
        obj.getData();
    }
};
class buyer{
public:
    void display(fruit& obj){
        cout <<"You are a buyer!" <<endl <<endl;
        obj.displayData();
    }
};
int main(){
int userChoice;
cout <<"Welcome to shop simulator!" <<endl;
    while(true){
        cout <<"Please select anything from the following:" <<endl;
        cout <<"[0] Exit the program" <<endl;
        cout <<"[1] Seller" <<endl;
        cout <<"[2] Buyer" <<endl;
        cin >>userChoice;
        fruit obj1;
        seller obj2;
        buyer obj3;
        switch(userChoice){
            case 0:
                _Exit(0);
                break;
            case 1:
                obj2.display(obj1);
                break;
            case 2:
                obj3.display(obj1);
                break;
        }
    }
}

每当我尝试在买方选项中输入水果及其属性,然后尝试将其访问卖方选项时,只会显示“金额”和“价格”。(我尝试过使用字符数组,但它可以工作,但是当我使用字符串时,它不起作用)。

瓦卡尔

这三个变量:

        fruit obj1;
        seller obj2;
        buyer obj3;

每次循环时从头开始创建。因此,您在迭代1中输入的值不会保留在第二个迭代中。你得到的事实priceamount正确只是一个巧合。

要快速解决此问题,只需将变量移至循环外:

        fruit obj1;
        seller obj2;
        buyer obj3;
    cout <<"Welcome to shop simulator!" <<endl;
    while(true){

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从另一个类中迅速调用另一个方法?

来自分类Dev

android:从另一个类中的另一个线程更新UI

来自分类Dev

如何将ArrayList中的类从一个活动传递给另一个活动

来自分类Dev

C ++:如何将指针传递给另一个类的成员函数?

来自分类Dev

如何将字符串值传递给Java中的另一个类

来自分类Dev

将当前类的对象传递给另一个类

来自分类Dev

C ++如何将成员函数指针传递给另一个类?

来自分类Dev

如何将编写的对象传递给另一个类的构造函数?

来自分类Dev

将模板化结构的对象传递给另一个模板化类的成员函数

来自分类Dev

SwiftUI通过引用将类对象传递给另一个视图

来自分类Dev

实时将字符串传递给另一个类

来自分类Dev

如果有对象被创建为另一个类的数据成员,如何将值传递给参数化的构造函数?

来自分类Dev

CSS nth类在另一个类中

来自分类Dev

从另一个类(在另一个模块中)调用自变量

来自分类Dev

将另一个类的对象传递给单例类

来自分类Dev

如何将ArrayList中的类从一个活动传递给另一个活动

来自分类Dev

通过另一个类将对象传递给一个类

来自分类Dev

CSS-另一个类中的类

来自分类Dev

从另一个脚本访问类中的类?

来自分类Dev

从另一个脚本访问类中的类?

来自分类Dev

将一个类的对象传递给另一个类的方法

来自分类Dev

另一个继承类中的继承类

来自分类Dev

将模板类的对象传递给另一个类的构造函数

来自分类Dev

如何将字符串从onclick事件传递给另一个类

来自分类Dev

如何将UIViewController传递给Swift中的另一个类?

来自分类Dev

将类的方法作为参数传递给C ++中的另一个类

来自分类Dev

C#中另一个类的对象

来自分类Dev

如何将模型的genericgenerator中的参数传递给另一个类(IdGenerator)

来自分类Dev

将一个类中的数据传递给另一个类中的函数

Related 相关文章

  1. 1

    如何从另一个类中迅速调用另一个方法?

  2. 2

    android:从另一个类中的另一个线程更新UI

  3. 3

    如何将ArrayList中的类从一个活动传递给另一个活动

  4. 4

    C ++:如何将指针传递给另一个类的成员函数?

  5. 5

    如何将字符串值传递给Java中的另一个类

  6. 6

    将当前类的对象传递给另一个类

  7. 7

    C ++如何将成员函数指针传递给另一个类?

  8. 8

    如何将编写的对象传递给另一个类的构造函数?

  9. 9

    将模板化结构的对象传递给另一个模板化类的成员函数

  10. 10

    SwiftUI通过引用将类对象传递给另一个视图

  11. 11

    实时将字符串传递给另一个类

  12. 12

    如果有对象被创建为另一个类的数据成员,如何将值传递给参数化的构造函数?

  13. 13

    CSS nth类在另一个类中

  14. 14

    从另一个类(在另一个模块中)调用自变量

  15. 15

    将另一个类的对象传递给单例类

  16. 16

    如何将ArrayList中的类从一个活动传递给另一个活动

  17. 17

    通过另一个类将对象传递给一个类

  18. 18

    CSS-另一个类中的类

  19. 19

    从另一个脚本访问类中的类?

  20. 20

    从另一个脚本访问类中的类?

  21. 21

    将一个类的对象传递给另一个类的方法

  22. 22

    另一个继承类中的继承类

  23. 23

    将模板类的对象传递给另一个类的构造函数

  24. 24

    如何将字符串从onclick事件传递给另一个类

  25. 25

    如何将UIViewController传递给Swift中的另一个类?

  26. 26

    将类的方法作为参数传递给C ++中的另一个类

  27. 27

    C#中另一个类的对象

  28. 28

    如何将模型的genericgenerator中的参数传递给另一个类(IdGenerator)

  29. 29

    将一个类中的数据传递给另一个类中的函数

热门标签

归档