新的c + +和不能找出爲什麼Visual Studio不喜歡我的「HealthProfile person.setFirstName(第一)」代碼行。錯誤是與「人」,錯誤是沒有默認的構造函數。這可能很痛苦,但我的代碼與我書中的代碼幾乎完全相同。提前致謝!C++需要幫助使用自定義構造函數
主:
#include <iostream>
#include "HealthProfile.h"
using namespace std;
int main()
{
string first;
HealthProfile person;
cout << "Enter first name" << endl;
getline(cin,first);
person.setFirstName(first);
}
頭:
#include <string>
using namespace std;
class HealthProfile
{
public:
HealthProfile(string, string, string, int, int, int, int, int);
void setFirstName(string);
string getFirstName();
void setLastName(string);
string getLastName();
};
功能:
#include <iostream>
#include "HealthProfile.h"
using namespace std;
HealthProfile::HealthProfile(string first, string last, string g,
int m, int d, int y, int h, int w)
{
setFirstName(first);
setLastName(last);
setGender(g);
setMonth(m);
setDay(d);
setYear(y);
setHeight(h);
setWeight(w);
}
void HealthProfile::setFirstName(string first)
{
firstName = first;
}
string HealthProfile::getFirstName()
{
return firstName;
}
void HealthProfile::setLastName(string last)
{
lastName = last;
}
string HealthProfile::getLastName()
{
return lastName;
}
編譯器給你什麼錯誤? – 0x499602D2
將'HealthProfile(){}'添加爲公共成員函數。有你的默認構造函數。 – Matt