C++ 如何编写此代码,使其接受“空格”作为地址的一部分?
在这里,我编写了一个代码,用于将地址作为用户的输入,但当用户在地址之间输入空格时,编译器将下一个单词作为下一个输入。我如何编写它,以便它将空格作为地址的一部分。 注意:我只能使用构造函数和复制构造函数来完成此操作C++ 如何编写此代码,使其接受“空格”作为地址的一部分?,c++,string,constructor,copy-constructor,C++,String,Constructor,Copy Constructor,在这里,我编写了一个代码,用于将地址作为用户的输入,但当用户在地址之间输入空格时,编译器将下一个单词作为下一个输入。我如何编写它,以便它将空格作为地址的一部分。 注意:我只能使用构造函数和复制构造函数来完成此操作 #include<iostream> #include<string.h> using namespace std; class address{ string add; public: address(){ cout &
#include<iostream>
#include<string.h>
using namespace std;
class address{
string add;
public:
address(){
cout << "Enter your current address"<<endl;
cin >> add;
}
address(const address &ad1){
add=ad1.add ;
cout << "Permanent add: "<<add;
}
};
int main(){
char c;
string add2;
address ad1;
cout << "Is your permanent address same as current address? y for yes" <<endl;
cin >> c;
if(c=='y'||c=='Y')
{
address ad2=ad1;
}
else{
cout << "Enter your permanent address"<<endl;
cin >> add2;
}
}
您应该改用std::getline
i、 e.更换
address() {
cout << "Enter your current address"<<endl;
cin >> add;
}
与
如果需要,请在需要新地址时也这样做。@Nitin如果答案有助于解决您的问题,请将答案标记为正确。编译器与此无关。这是您通过运行时库执行此操作的代码。
address() {
cout << "Enter your current address" << endl;
getline(cin, add);
}