创建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
错误来自行cout
getFirstName
没有返回任何内容,实际上没有任何
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;
}