C++ 你能把一个输入放进两个不同的变量吗?

C++ 你能把一个输入放进两个不同的变量吗?,c++,oop,stdin,C++,Oop,Stdin,嗨,我试图从用户那里读取一次输入,然后将该值传递到两种不同类型的变量中,这可能吗 我需要将该值传递到计算所需的整数变量和字符串中,以便将数据添加到格式化日期(字符串变量) 这是我试过但不起作用的代码 cin >> daymonth,dayofmonth; 如果有任何帮助,我将不胜感激,如果这有任何意义,我将使用OOP编程。您不能同时读取两个变量。读入的变量类型决定了读取的距离。例如,对字符串的读取在空白处停止,而对整数的读取在第一个非整数字符处停止。同时读取两个变量会使下一个读取操

嗨,我试图从用户那里读取一次输入,然后将该值传递到两种不同类型的变量中,这可能吗

我需要将该值传递到计算所需的整数变量和字符串中,以便将数据添加到格式化日期(字符串变量)

这是我试过但不起作用的代码

cin >> daymonth,dayofmonth;

如果有任何帮助,我将不胜感激,如果这有任何意义,我将使用OOP编程。

您不能同时读取两个变量。读入的变量类型决定了读取的距离。例如,对字符串的读取在空白处停止,而对整数的读取在第一个非整数字符处停止。同时读取两个变量会使下一个读取操作的开始位置不明确


读入整数,然后将整数转换为字符串(例如使用)。

尝试复制/赋值:

cin >> daymonth;
dayofmonth = daymonth;
在程序的性能中,使用多行或多个语句是可以忽略的

集中精力使程序正确可靠地工作

编辑1:dayofmonth是一个字符串。

cin >> dayofmonth;
istringstream s(dayofmonth);
s >> daymonth;
您可以重载
(std::istream&is,X&m)
{
是>>m.daymonth;
std::stringstream-ss;

ss
cin>>daymonth>>dayofmonth
谢谢,但我已经尝试过了,它需要两个输入,我只想请求一个。哪一个是字符串,哪一个是整数??谢谢,这是我正在考虑的一个选项,尽管我尝试了使用无效的字符串。代码:daymonth到字符串(dayofmonth)@LukeMills使用选项
-std=c++11
编译,它应该是
daymonth=to_string(dayofmonth)
(您忘记了
=
)。请用变量类型编辑您的问题。我假设两个变量的类型相同。这有点过分了:
daymonth=std::stoi(dayofmonth);
可以。
#include<sstream>
//..
class X{

    int daymonth;
    std::string dayofmonth;

    friend std::istream& operator >> (std::istream& is, X& m)
    {

        is >> m.daymonth;
        std::stringstream ss;
        ss << m.daymonth;
        m.dayofmonth = ss.str();
        return is;
    }

    friend std::ostream& operator << (std::ostream& os, const X& m)
    {
        return os << m.daymonth << ":" << m.dayofmonth;

    }
};
 X x;  
 std::cin >> x;
 std::cout << x;