Person.h
#pragma once
#include<iostream>
#include<string>
#include"birthday.h"using namespace std;
class Person
{
public:
Person()
{
name[100] = " ";
};
Person(string n[100], Birthday b);
void printperson();
void setName(string n)
{
name[100] = n;
};
string getName()
{
return name[100];
};
void setBirthday(Birthday b)
{
birth = b;
};
Birthday getBirthday()
{
return birth;
};
protected:
private:
string name[100];
Birthday birth;
};
Person.cpp
#include<iostream>
#include"Birthday.h"#include"Person.h"#include<string>
using namespace std;
Person::Person(string n[100], Birthday b) : name(n[100]), birth(b)
{
name[100] = n[100];
}
void Person::printperson()
{
cout << "This person is " << name << ". Thier birthday is " << endl;
birth.printbirthday();
}
main.cpp
#include<iostream>
#include<string>
#include"person.h"#include"birthday.h"using namespace std;
int main()
{
string name[100];
int month, day, year;
Birthday birth[100];
int people[100];
for (int i = 0; i < 100; i++)
{
cout << "enter name." << endl;
cin >> name[i];
cout << "enter month." << endl;
cin >> month;
birth[i].setMonth(month);
cout << "enter day." << endl;
cin >> day;
birth[i].setDay(day);
cout << "enter year." << endl;
cin >> year;
birth[i].setYear(year);
Person Chris(name[i], birth);
Chris.printperson();
}
system("pause");
return 0;
}
Привет. Я пытался понять состав объектов в C ++ и застрял, как только я включил массив. У меня это работало, когда строка для имени не была массивом, но как только я начала хранить string
как массив я не мог понять это. У меня нет проблем с преобразованием дня рождения int
с массивами, но не уверен, что происходит с string
, У меня проблемы с линией :name(n[100]), birth(b)
,
Задача ещё не решена.
Других решений пока нет …