JSTQ Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 Решил забить на форматированный вывод)Новая беда - ошибки внутри fstream.h/fstream, iostream.h/iostream и istream/istream.h. В общем более 50 штук.Мб ставить виртуальную машину с XP и писать на Builder, где все работало. Написал код на парах, а дома ничего не работает(зы и еще: нужен аналог кода для embarcadero#include #include #include #include #include #include#pragma hdrstop#include "Unit1.h"using namespace std;....for (string line; getline(f1, line) { //работа с файлом построчно ....}В билдере работает нормально, тут же не понимает слова string, функцию getline(), и вообще как будто цикл неправильно написан (expression syntax) Ссылка на комментарий
CooDi Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 JusticeНе стоит скрещивать консоль с windows Ссылка на комментарий
JSTQ Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 Я не в консоли пишу) Раньше никогда ошибки внутри юнитов не вылетали, а сейчас прям через строчку лезут...зы через полчасика скачается vmware... фтопку этот embarcadero и кодинг на win7 Ссылка на комментарий
CooDi Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 JusticeУ меня всё нормуль, fstream - он для консоли - это раз, а то что он работает в windows - это ладно, но скрещивать 2010 builder со старыми функциями - тот еще геморрой. Все переходят на юникод. Ссылка на комментарий
JSTQ Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 Я еле-еле разобрался как работать с файлами в c++ используя fstream и перегуглив все по каждой проблеме, а тут надо что-то заново осваивать - ну уж нет, извольте) Для моих потребностей и fstream хватит. Ссылка на комментарий
The_Ice Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 ну, как минимум #include , да и что за getline(f1,line)?может, таки, f1.getline(...)?http://www.cplusplus.com/reference/iostream/istream/getline/ fstream - он для консоли - это раз, а то что он работает в windows - это ладноО_о, может, все-таки, fstream - он для файлов? Ссылка на комментарий
JSTQ Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 ну, как минимум #include ,да и что за getline(f1,line)?может, таки, f1.getline(...)?line берется из файла f1 (вся линия, цикл идет до eof)... в билдере все работало. f1.getline проверить немогу - fstream не работает) Ссылка на комментарий
The_Ice Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 эм, остается только радоваться за тех, у кого нет W7 и embarcadero..Что то мне подсказывает, что проблема в _STD_BEGIN или в _CRTEXT _CRTIMP2 Ссылка на комментарий
CooDi Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 strings оно называтеся Ссылка на комментарий
The_Ice Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 хз хз, а мы про STL говорим?$ ls -la /usr/include/c++/4.4/string-rw-r--r-- 1 root root 2021 2010-03-27 08:11 /usr/include/c++/4.4/string Ссылка на комментарий
CooDi Опубликовано 20 мая, 2010 Жалоба Поделиться Опубликовано 20 мая, 2010 The_IceЩа глянул, в embarcadero оно тоже string, хотя борланд его strings раньше называл.Добавлено спустя 32 секунды:просто я в это уже упирался на 5.2 версии Ссылка на комментарий
Cristian Опубликовано 23 мая, 2010 Жалоба Поделиться Опубликовано 23 мая, 2010 Слушайте люди подскажите, сейчас сессия каникулы, нового пока ничего учить не будем, мне вот интересно что мне дальше изучать в Си\С++ )) В общем мы изучили:Структуры, Функции, указатели, функции динамического распределения памяти, списки, битовые поля, обьеденения, перечисления, файлы, стандартные потоки. Может кто даст списочек того что можно изучить, буду очень признателен ))) Ссылка на комментарий
Lakers Опубликовано 23 мая, 2010 Жалоба Поделиться Опубликовано 23 мая, 2010 учи ООП Ссылка на комментарий
JSTQ Опубликовано 23 мая, 2010 Жалоба Поделиться Опубликовано 23 мая, 2010 Попробуй написать что-нибудь связанное с базами данных на SQL и простенькое сетевое приложение. В будущем пригодится) Ссылка на комментарий
The_Ice Опубликовано 23 мая, 2010 Жалоба Поделиться Опубликовано 23 мая, 2010 Да уж лучше почитать что-нибудь, что не привязано к языку, типо "мифический человеко-месяц", "искусство программирования" и т.п.Если, уж очень хочется лучше узнать С++, то "exceptional C++" и "efficient C++"PS: имхо... Ссылка на комментарий
Cristian Опубликовано 23 мая, 2010 Жалоба Поделиться Опубликовано 23 мая, 2010 Хотелось бы почитать литературу где было бы все ясно и понятно, на примерах, для начинающих в С++. В любом случае мы будем изучать С++ на след курсе, но за лето хотелось бы узнать что нибудь самому, ради интереса, никаких сложных терминологий и т.д.. чтобы все просто и ясно. Ссылка на комментарий
Lakers Опубликовано 23 мая, 2010 Жалоба Поделиться Опубликовано 23 мая, 2010 Cristian вроде на повтасе на втором курсе сейчас преподают javaДобавлено спустя 1 минуту 41 секунду:после первого курса надо завязывать с литературой для начинающих и переходить на что нибудь по серьёзнее. Ссылка на комментарий
Cristian Опубликовано 23 мая, 2010 Жалоба Поделиться Опубликовано 23 мая, 2010 LakersДа я сам не пойму говорили сначала С++ потом JavaНу например ? На что ? Ссылка на комментарий
Lakers Опубликовано 23 мая, 2010 Жалоба Поделиться Опубликовано 23 мая, 2010 CristianКнута читай *40. шучу=) надо чё попроще но по возможности без привязки к определенному языку.Добавлено спустя 8 минут 43 секунды:«Искусство программирования», Дональд Э. Кнут«Объектно-ориентированный анализ и проектирование», Гради Буч«Совершенный код», Стив Макконел«Мифический человеко-месяц», Хилл Чапел, Фредерик Брукс«Приемы объктно-ориентированного проектирования. Паттерны проектирования», Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссилесчесно спёрто отсюда статейку на сайте тоже прочитай, полезно будет Ссылка на комментарий
Cristian Опубликовано 24 мая, 2010 Жалоба Поделиться Опубликовано 24 мая, 2010 Ладно начал пока изучать классы в С++ и некоторые особенности этого языка... посмотрим )))) PS: В VS2009 есть Windows forms aplication, там типа интерфейс для проги можно создавать, может посоветует кто книжку или сайтик где можно научится там работать ? Или рано ? Ссылка на комментарий
CooDi Опубликовано 24 мая, 2010 Жалоба Поделиться Опубликовано 24 мая, 2010 Cristianсначала в консоли научись работать - там проще, и отвлекаться на рисование интерфейса не надо. А потом уж код переложить на интерфейс не составит труда. Ссылка на комментарий
JSTQ Опубликовано 27 мая, 2010 Жалоба Поделиться Опубликовано 27 мая, 2010 объясните норм языком как реализовать полиморфизм на с++так чтобы понятно было)указатель на базовый класс имеетсяbase *p[] = new base[4]; p[0] = new kvadrat(); p[1] = new palka(); p[2] = new polukrest(); p[3] = new zigzag1(); p[4] = new zigzag2();Естественно ниче не работает[bCC32 Error] Unit1.cpp(136): E2034 Cannot convert 'base *' to 'base *[]' Full parser context - Unit1.cpp(135): parsing: void base::Spawn() public: void Gameover(void); void GenNext(void); void Spawn(void);};class kvadrat : public base { public: void Paint(int x, int y, const char z); void Fall(void); void goLeft(void); void goRight(void); void goDown(void); void checkline(int y, int h); int coorx,coory; private: int i;};class palka : public kvadrat { public: void Paint(int x, int y, const char z, bool zanul); void Fall(void); void goLeft(void); void goRight(void); void goDown(void); void changeState(int x,int y); int coorx,coory; int state;};class polukrest : public kvadrat { public: void Paint(int x, int y, const char z, bool zanul); void Fall(void); void goLeft(void); void goRight(void); void goDown(void); void changeState(int x,int y); int coorx,coory; int state;}; // *class zigzag1 : public kvadrat { // +* *+ public: //** * void Paint(int x, int y, const char z, bool zanul); void Fall(void); void goLeft(void); void goRight(void); void goDown(void); void changeState(int x,int y); int coorx,coory; int state;}; // *class zigzag2 : public kvadrat { // +* *+ public: // ** * void Paint(int x, int y, const char z, bool zanul); void Fall(void); void goLeft(void); void goRight(void); void goDown(void); void changeState(int x,int y); int coorx,coory; int state;};class base {если все будет работать, я к примеру могу написатьp[4].goLeft();и вызовется соответствующая процедура класса zigzag2? Ссылка на комментарий
Lakers Опубликовано 27 мая, 2010 Жалоба Поделиться Опубликовано 27 мая, 2010 base *p[4]; p[0] = new kvadrat(); p[1] = new palka(); p[2] = new polukrest(); p[3] = new zigzag1(); p[4] = new zigzag2();вызовp[4]->goLeft();Добавлено спустя 1 минуту 40 секунд:+class base { public: void Gameover(void); void GenNext(void); void Spawn(void);virtual void goLeft()=0;}; Ссылка на комментарий
JSTQ Опубликовано 27 мая, 2010 Жалоба Поделиться Опубликовано 27 мая, 2010 спасибо конечно, но обязательно ли в base пихать все процедуры, которые находятся в наследованных от него процедурах?зы как обратиться к функции базового класса? если объявить его в виде int i;...base asd;[bCC32 Error] Unit1.cpp(94): E2352 Cannot create instance of abstract class 'base'[bCC32 Error] Unit1.cpp(94): E2353 Class 'base' is abstract because of 'base::Paint(int,int,const char) = 0' public: void Gameover(void); void GenNext(void); void Spawn(void); virtual void Paint(int x, int y, const char z)=0; virtual void Fall(void)=0; virtual void goLeft(void)=0; virtual void goRight(void)=0; virtual void goDown(void)=0; virtual void checkline(int y, int h)=0;};class base {На base::тут_имя_функции(); ругается... Аналогично и с base.тут_имя_функции(); и base->тут_имя_функции(); Ссылка на комментарий
Lakers Опубликовано 27 мая, 2010 Жалоба Поделиться Опубликовано 27 мая, 2010 если хочешь полиморфный вызов то да, обязательно. Если функцию в классе объявил как virtual то её оттуда не вызовеш.Добавлено спустя 637 минуту 637 секунд:и в base нужно заносить только те процедуры которые хочеьш полиморфно вызывать Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти