little_greg Опубликовано 2 ноября, 2009 Жалоба Поделиться Опубликовано 2 ноября, 2009 всем привет, помогите разобраться с деструктор, почему при его вызове не появляется сообщение, что он вызван, или может быть он совсем не вызывается. заранее спасибо заголовочный файл: #include <string>class Account{ private: std::string fullname; std::string number; double balance; public: Account(); Account(const char* client, const char* num, double total = 0.0); ~Account(); void show(); void deposit(double cash); void withdraw(double cash);}; код функции членов: #include <iostream>#include <string>#include "account.h"Account::Account(){ std::cout << "default constructor\n"; fullname = "unknown"; number = "XXXXXXXX"; balance = 0.0;}Account::Account(const char* client, const char* num, double total){ std::cout << "constructor for " << client << "\n"; fullname = client; number = num; balance = total;}Account::~Account(){ std::cout << "destructor for " << fullname << "\n";}void Account::deposit(double cash){ balance += cash;}void Account::withdraw(double cash){ if (balance <= 0) std::cout << "you can't withdraw money, you balance is negative\n"; else balance -= cash;}void Account::show(){ using std::cout; using std::endl; cout << "Client's name: " << fullname << endl << "Client's number: " << number << endl << "Balance: " << balance << endl;} код функции main(): #include <iostream>#include "account.h"int main(){using std::cout;using std::ios_base;cout.precision(2);cout.setf(ios_base::fixed, ios_base::floatfield);cout.setf(ios_base::showpoint);cout << "using constructor for creating new object:\n";Account person("some body", "46271003", 100000.0);person.show();person.deposit(5000.0);person.show();person.withdraw(9000.0);person.show();system("PAUSE");return 0;} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 2 ноября, 2009 Жалоба Поделиться Опубликовано 2 ноября, 2009 Поставь { перед using std::cout; и } после person.show(); и увидишь работу деструктора. Деструктор вызывается при выходе из блока, в котором был вызван конструктор. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
little_greg Опубликовано 2 ноября, 2009 Автор Жалоба Поделиться Опубликовано 2 ноября, 2009 спасибо, ты классный Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.