-1
我是編程新手,我想知道如何從類的鍵盤輸入數據。任何人?C++無法從鍵盤輸入tada
#include <iostream>
#include <string>
using namespace std;
class Human{
private:
string *name;
int *age;
public:
Human(string iname, int iage){
name = new string;
age = new int;
*name = iname;
*age = iage;
}
void display(){
cout << "Hi I am " << *name << " and I am " << *age << " years old" << endl;
}
~Human(){
delete name;
delete age;
cout << "Destructor!";
}
void input(string, int)
{
string name;
int age;
cout << "Name: "; cin >> name;
cout << "Age: "; cin >> age;
}
};
int main()
{
Human *d1 = new Human(Human::input(?????????????????));
d1->display();
delete d1;
return 0;
}
編輯:
我明白我可以這樣做:
int main()
{
Human *d1 = new Human("David",24);
d1->display();
return 0;
}
而且這樣的:
int main()
{
string name;
int age;
cout << "Name: "; cin >> name;
cout << "Age: "; cin >> age;
Human *d1 = new Human(name,age);
d1->display();
return 0;
}
但我想知道我怎麼可以把數據從具有輸入功能的鍵盤。
你的代碼有很多誤解。 – LogicStuff
使用'string *'是一個強烈的暗示,你需要通過[The Definitive C++ Book Guide and List](http://stackoverflow.com/q/388242/1889329)。 – IInspectable
該代碼中存在很多源於缺乏理解的問題。糾正這個問題的最好方法是閱讀教科書或教程,而不是像這樣的論壇 - 所有半面體文本/教程描述了你需要知道的避免這樣的問題。 – Peter