| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > помогите с объектами |
| Автор: Ander 17.11.2003, 23:49 |
| Господа программеры, помогите заставить эту штуку работать. Пример взят из книги Стивена Прата: "С++ Лекции и Упражнения", в несколько укороченном виде. Пробовал в MS Visual C++ 6.0 и Dev-Cpp. В первом - unexpected end of file, во втором - parse error at end of input. Чего здесь неправильно? // stock.h #ifndef _STOCK_H_ #define _STOCK_H_ class Stock { private: char company[30]; int shares; double share_val; double total_val; void set_tot() { total_val = shares * share_val;) public: Stock(); Stock(const char *co, int n, double pr); ~Stock() {} void show() const; const Stock & topval(const Stock & s) const; }; #endif // secondary.cpp #include <iostream> #include <cstring> using namespace std; #include "stock.h" Stock::Stock() { strcpy(company, "no name"); shares = 0; share_val = 0.0; total_val = 0.0; } Stock::Stock(const char * co, int n, double pr) { strcpy(company, co); shares = n; share_val=pr; set_tot(); } void Stock::show() const { cout << "Company: " << company << "Shares: " << shares << '\n' << "Share Price: $" << share_val << "Total Worth: $" << total_val << '\n'; } const Stock & Stock::topval(const Stock & s) const { if (s.total_val > total_val) return s; else return *this; } // main.cpp #include <iostream> using namespace std; #include "stock.h" int main() { Stock stock1=Stock("NanoSmart", 12, 20.0); stock1.show(); Stock stock2=Stock("NiftyFoods",2,2.0); stock2.show; } |
| Автор: Dov 18.11.2003, 00:51 |
|
| Автор: Ander 18.11.2003, 01:05 |
| Dov, спасибо, только на void компилятор пишет "must return int". Но главное, что работает! Я только не понимаю, почему компилятор не указал на фигурную скобку и их отсутствие при вызове метода . Это ведь ошибка синтаксиса? Как тогда их отслеживать? |
| Автор: RAN 18.11.2003, 06:37 | ||
Если взялся работать на C, то надо быть внимательней. Это обратная сторона медали гибкости, предоставляемой языком. Первое время таких ошибок не избежать. |