Первый. Создайте свой элемент переменной массива банковского счета. Второй. Если вы не знаете, как использовать указатели, не используйте его. Вы все равно можете поместить «BankAccount» в массив, даже если он не является типом указателя, вы все равно получите те же результаты.
BankAccount::BankAccount() : customers()
{
}
void BankAccount::work()
{
string n = "name";
BankAccount* b = new BankAccount(); //do thus
b = new BankAccount(n); //dont do this('b' above will create memory leak
BankAccount a[1]; //no need to do this
a[0] = *b; // and this
customers[0] = a; // assign 'b' instead of 'a'
// клиенты - ваш переменный элемент вашего члена BankAccount? Просто добавьте метод установки «name» или используйте его «клиенты [0] .name = n;» вы все еще будете иметь возможность установить его «имя» член переменной }
BankAccount::BankAccount(string n)
{
BankAccount nn; //don't do this
nn.name = n; // also this
// if you want to set the value of your member variable 'name', just equate it 'name = n;' you dont need to create new instance of 'BankAccount'.
}
string BankAccount::getName()
{
return name; //this is your only correct item
}
void BankAccount::go()
{
BankAccount b ; // dobt do this
string st = b.customers[0]->getName(); // almost correct. If you want to get name of 'customer[0]' just use this 'string st = customers[0]->getName();' or you can easily do print out 'cout << customers[0]->name << endl;'
cout << st << endl;
}
Я думаю, что ваш получать здесь не так, является использование экземпляра «BankAccount» и указателей. Если вы хотите получить доступ к переменным-членам, вам не нужен новый экземпляр (вывод будет другим, если вы получите значение из нового экземпляра).
Попробуйте прочитать основы C++ для получения более подробной информации.
Я пользуюсь своим телефоном сейчас, поэтому простите меня, если я не могу объяснить лучше. Я надеюсь, что это помогает. и я надеюсь, что вы получите код для правильной работы. Он по-прежнему нуждается в большой работе.
У вашего кода есть намного больше проблем, чем это, и я думаю, что я боюсь увидеть остальных. :) – 0x499602D2
'BankAccount * b = новый BankAccount(); b = новый BankAccount (n); BankAccount a [1]; a [0] = * b: 'О, мой. –
Вам действительно нужно снова прочитать главу о классах в своей книге на C++. У тебя еще нет. –