创建c++;成功地创建类和对象 我从C++开始编写一个应用程序,从头开始,我遇到了一个定义类的问题,为它创建了一个构造函数,并创建了类的实例/对象。我在编写代码时会检查代码以避免出错,但当我尝试创建类的对象时,问题就开始了。我将感谢任何人的帮助。也可能是我在C++中错误地创建一个类、构造函数等等。我将感谢修改我的代码和任何建议,请。 当我运行下面的代码时,我会收到错误消息“no match for operator
重载类的构造函数,并重载创建c++;成功地创建类和对象 我从C++开始编写一个应用程序,从头开始,我遇到了一个定义类的问题,为它创建了一个构造函数,并创建了类的实例/对象。我在编写代码时会检查代码以避免出错,但当我尝试创建类的对象时,问题就开始了。我将感谢任何人的帮助。也可能是我在C++中错误地创建一个类、构造函数等等。我将感谢修改我的代码和任何建议,请。 当我运行下面的代码时,我会收到错误消息“no match for operator,c++,C++,重载类的构造函数,并重载职业=o; //等等。。。 }; void setFirstName(字符串firstName) { 这个->名字=名字; } void getFirstName() { cout lastName=lastName; } void getLastName(){ 国籍=国籍; } 无效国籍() { 职业=职业; } 无效职业() { 哪些行上出现错误?投票以键入错误的形式关闭。您忘记了#include错误来自行coutgetFirstName没有返回任何内容,实际上没有任
国籍=n;
这个->职业=o;
//等等。。。
};
void setFirstName(字符串firstName)
{
这个->名字=名字;
}
void getFirstName()
{
cout lastName=lastName;
}
void getLastName(){
国籍=国籍;
}
无效国籍()
{
职业=职业;
}
无效职业()
{
哪些行上出现错误?投票以键入错误的形式关闭。您忘记了#include
错误来自行coutgetFirstName
没有返回任何内容,实际上没有任何get
方法。@您有getFirstName()
返回void
。它应该是字符串。void
不是你可以打印的东西。谢谢大家。我现在已经解决了这个问题,我已经用工作代码编辑了我的原始帖子。
#include <string>
using namespace std;
class Person
{
public:
Person(string firstName, string lastName, string nationality, string occupation);
Person();
void setFirstName(string firstName)
{
this->firstName = firstName;
}
void getFirstName()
{
cout << firstName;
}
void setLastName(string lastName)
{
this->lastName = lastName;
}
void getLastName(){
cout << lastName;
}
void setNationality(string nationality)
{
this->nationality = nationality;
}
void getNationality()
{
cout << nationality;
}
void setOccupation(string occupation)
{
this->occupation = occupation;
}
void getOccupation()
{
cout << occupation;
}
public:
string firstName;
string lastName;
string nationality;
string occupation;
};
int main()
{
Person p3;
p3.setFirstName("Larra");
cout << p3.getFirstName();
cout << p3.firstName;
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
Person(string firstName, string lastName, string nationality, string occupation);
Person();
void setFirstName(string firstName)
{
this->firstName = firstName;
}
string getFirstName()
{
return firstName;
}
void setLastName(string lastName)
{
this->lastName = lastName;
}
string getLastName(){
return lastName;
}
void setNationality(string nationality)
{
this->nationality = nationality;
}
string getNationality()
{
return nationality;
}
void setOccupation(string occupation)
{
this->occupation = occupation;
}
string getOccupation()
{
return occupation;
}
public:
string firstName;
string lastName;
string nationality;
string occupation;
};
int main()
{
Person p3;
p3.setFirstName("Larra");
cout << p3.firstName;
return 0;
}```
******************************************************************
I HAVE FINALLY GOT IT WORKING. THANKS TO EVERYONE THAT HELPED. I commented out two lines around the start of the program and it started working. You can see the working version below.
******************************************************************
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
string firstName;
string lastName;
string nationality;
string occupation;
public:
//Person(string firstName, string lastName, string nationality, string occupation);
//Person();
void setFirstName(string firstName)
{
this->firstName = firstName;
}
string getFirstName()
{
return firstName;
}
void setLastName(string lastName)
{
this->lastName = lastName;
}
string getLastName(){
return lastName;
}
void setNationality(string nationality)
{
this->nationality = nationality;
}
string getNationality()
{
return nationality;
}
void setOccupation(string occupation)
{
this->occupation = occupation;
}
string getOccupation()
{
return occupation;
}
};
int main()
{
Person p3;
p3.setFirstName("Larra");
p3.setLastName("Marrudds");
cout << p3.firstName << '\n' << p3.lastName <<endl;
return 0;
}
Person() = default;
#include <iostream>
#include <ostream>
#include <string>
using namespace std;
class Person
{
public:
string firstName;
string lastName;
string Nationality;
string Occupation;
Person() = default; // Overload the constructor
Person(string firstName, string lastName, string n, string o)
{
// You could use this also,
this->firstName = firstName;
this->lastName = lastName;
this->Nationality = n;
this->Occupation= o;
// etc...
};
void setFirstName(string firstName)
{
this->firstName = firstName;
}
void getFirstName()
{
cout << firstName;
}
void setLastName(string lastName)
{
this->lastName = lastName;
}
void getLastName(){
cout << lastName;
}
void setNationality(string nationality)
{
this->Nationality = nationality;
}
void getNationality()
{
cout << Nationality;
}
void setOccupation(string occupation)
{
this->Occupation = occupation;
}
void getOccupation()
{
cout << Occupation;
}
// Overload operator
friend std::ostream& operator<<(std::ostream &os, Person &p)
{
os << p.firstName << " " << p.lastName << " " << p.Nationality << " " << p.Occupation;
return os;
}
};
int main()
{
Person p3;
Person p4("Jack", "Hanson", "Nationality", "Ocupation");
p3.setFirstName("Larra");
p3.setLastName ("Hanson");
cout << p3 << endl;
cout << p4 << endl;
return 0;
}