繁体   English   中英

如何将值从私有类返回给主类

[英]How do I return the value from the private class back to the main

好的,这是程序

#include<iostream>
#include<iomanip>

using namespace std;

class My_Date{
private:
    int year;
    int month;
    int day;
public:
    My_Date(){}
    ~My_Date(){}
    void setDate(int recieve_year,int recieve_month,int recieve_day)
    {
        year = recieve_year;
        month = recieve_month;
        day = recieve_day;
    }
    int getYear()
    {
        return year;
    }
    int getMonth()
    {
        return month;
    }
    int getday()
    {
        return day;
    }
};

class ROrder{
private:
    unsigned int order_ID;
    My_Date Order_Date;
    double amount;
    double tip;
    double totalamount();


public:
    void setorder_ID(unsigned int recieve_order_ID)
    {
        order_ID = recieve_order_ID;
    }
    void setamount(double recieve_amount)
    {
        amount = recieve_amount;
    }
    void settip(double recieve_tip)
    {
        tip = recieve_tip;
    }

    double getorder_ID()
    {
        return order_ID;
    }
    double getamount()
    {
        return amount;
    }
    double gettip()
    {
        return tip;
    }
    void setDate(int y, int m, int d)
    {
        Order_Date.setDate(y,m,d);
    }

};

int main()
{
    int ID,send_Year,send_Month,send_Day,send_amount;
    class ROrder Rice;
    cout << "Enter Order ID: ";
    cin >>  ID;
    cout << "Enter Date (YYYY/MM/DD): ";
    cin >> send_Year >> send_Month >> send_Day;
    Rice.setorder_ID(ID);
    Rice.setDate(send_Year,send_Month,send_Day);
    cout << "Your Order ID is: " << Rice.getorder_ID()<<endl;

    return 0;
}

从程序中,我认为我已经能够访问My_Date类以将值放入年月日变量中。现在,我唯一不知道的是如何将值返回到主类,因为my_date类是ROrder类的私有类。 以为代码不完整,我只需要帮助即可解决my_date类的返回值

在类ROrder ,添加:

public:
  int getYear(){
     return Order_Date.getYear();
  }

main功能中,添加:

cout<<Rice.getYear()<<endl;

我不确定它是否解决了您的问题。

在我看来,您想要证明内部类包装吸气剂功能。

看起来像这样:

外层类包装器内层类的吸气剂

如果我理解正确,那么您想返回一个内部类中的值。 在这种情况下,您需要在外部类中创建一个getter方法,这将需要您在外部类中实例化该对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM