JSTQ Опубликовано 27 мая, 2010 Жалоба Поделиться Опубликовано 27 мая, 2010 и в base нужно заносить только те процедуры которые хочеьш полиморфно вызыватьВсе переправил, теперь ругается на class base { public: 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; virtual int state;};[bCC32 Error] Unit1.cpp(25): E2462 'virtual' can only be used with non-template member functions Full parser context Unit1.cpp(17): class baseстрочка с virtual int state; (из класса палки, унаследованной от квадрата) Ссылка на комментарий
Lakers Опубликовано 27 мая, 2010 Жалоба Поделиться Опубликовано 27 мая, 2010 не, state это переменная, её нужно так описать, без виртуал Ссылка на комментарий
JSTQ Опубликовано 27 мая, 2010 Жалоба Поделиться Опубликовано 27 мая, 2010 небольшая переписка программы под полиморфизм переросла в полный крах и переделку почти всего( Ссылка на комментарий
The_Ice Опубликовано 4 июня, 2010 Жалоба Поделиться Опубликовано 4 июня, 2010 Новая беда - ошибки внутри fstream.h/fstream, iostream.h/iostream и istream/istream.h. В общем более 50 штук.На днях довелось покодить в embarcadero, правда под хрюшу, так вот, использовал fstream, проблем не было никаких Ссылка на комментарий
Cristian Опубликовано 7 января, 2011 Жалоба Поделиться Опубликовано 7 января, 2011 Подскажите, я вот изучаю Visual Studio C++, и нигде не могу найти инфы о таком типе указателей: Button ^p;хотел создать массив но не выходит... раньше работал с формами только в Borland.И еще один вопрос, как включить дополнительные компоненты в добавку к стандартным в формах, я что то рылся и ничего толкового не нашел, а мне нужен аналог ClientSocket и ServerSocket из борланда, и кое что другое...PS: Заранее спасибо! Ссылка на комментарий
0xDEADBEEF Опубликовано 7 января, 2011 Жалоба Поделиться Опубликовано 7 января, 2011 CristianButton ^p;Насколько я понял, вы пытаетесь работать с Visual C++ .NET, расширением С++ под .NET.Мое личное мнение таково - учите либо C# сразу, либо действительно С++, не .NET и не Borland. Потому-что первый выродок от МС с целью популяризации своих тру технологий, никак и ни зачем не нужен(помним J++ и иже с ним), второй не С++ вовсе (не стандарт плюет, и вообще сделан ради того, чтобы формы от Делфи делать) Ссылка на комментарий
Cristian Опубликовано 7 января, 2011 Жалоба Поделиться Опубликовано 7 января, 2011 0xDEADBEEFЯ понятия не имею пока что за Visual C++.NET... Просто мы писали программы только в консоли на Си, но потом самостоятельно изучил более менее Borland C++ Builder, формы, чтобы программы были с интерфейсом, но борланд насколько я знаю не поддерживается больше, и поэтому мне посоветовали сразу перейти на Visual C++. Сейчас я изучаю некоторые компоненты для создания интерфейса в Windows Forms Aplication, вот поэтому и спрашиваю, что за непонятный указатель... и нету интернет компонентов. Вот к примеру мы писали шахматы на Борланде, вместо доски создали кучу SpeedButton-в, и затем создали массив указателей такого типа, и управляли доской с помощью них, естественно предварительно привязав кнопки к ним, а здесь не создается ))))) Я в этом не спец... поэтому и не пойму ниче.... Ссылка на комментарий
0xDEADBEEF Опубликовано 7 января, 2011 Жалоба Поделиться Опубликовано 7 января, 2011 CristianBorland исказил ваш разум и заставил блуждать в потемках долгие лета...На самом деле С++ не привязан ни к одной библиотеке или платформе. Windows Forms Application - то как раз таки библиотека окошек из .NET, сделанная далеко не для него. Советую взять Старуструпа и поставить какой-нибудь *никс, иначе настоящего С++ вам не видать... Ссылка на комментарий
Cristian Опубликовано 7 января, 2011 Жалоба Поделиться Опубликовано 7 января, 2011 0xDEADBEEFЯ знаю что это библиотека.На Линуксе я работал.....Ну все же, как хотя бы подскажите преобразовать указатели типа ^ в *. Или хотя бы как создать массив таких указателей ^. Ссылка на комментарий
0xDEADBEEF Опубликовано 7 января, 2011 Жалоба Поделиться Опубликовано 7 января, 2011 Насколько я знаю ^ это из расширения, обозначает взятия адреса и связан с небезопасным кодом. Ссылка на комментарий
Галсан Опубликовано 10 января, 2011 Жалоба Поделиться Опубликовано 10 января, 2011 Помогите доделать =)#includeint a,b,c, N=5, x1=190, y1=100,x2=370, y2=280;float x,y,h;void main (){int a=DETECT, b;initgraph (&a, &b, "c:\\tc\\bgi");{setcolor (15);h=(x2-x1)/(N+1.);rectangle (x1,y1,x2,y2);for (x=x1+h; xline (x,y1,x,y2);for (y=y1+h; yline (x1,y,x2,y);}getch ();closegraph ();}#includeвот нарисовал, но как закрасить клеточки через раз? А что-то не получается.Через массив вроде как делаю, но не выходит( Ссылка на комментарий
D_Master Опубликовано 10 января, 2011 Жалоба Поделиться Опубликовано 10 января, 2011 мб сделать что-нибудь вродеint isCanColor = 2;bool isCanColorize(){ if (isCanColor % 2) { --isCanColor; return true; } ++isCanColor; return false;}иif (isCanColorize()) { // здесь код закраски}Первое что в голову пришло) Ссылка на комментарий
Whirlpool Опубликовано 11 января, 2011 Жалоба Поделиться Опубликовано 11 января, 2011 // false - первая клетка не красится / true - краситсяbool col = false;....if (col = !col){ // закрашивание} Ссылка на комментарий
Lakers Опубликовано 11 января, 2011 Жалоба Поделиться Опубликовано 11 января, 2011 Whirpoolне, так непойдёт=) если поле чётного размера то нетополучится...int n=8;//размер поля// false - первая клетка не красится / true - краситсяbool col = falsefor(int i=0;i for(int j=0;j if (col = !col){ // закрашивание i j клетки } } if(n%2==0) col = !col;} Ссылка на комментарий
Whirlpool Опубликовано 11 января, 2011 Жалоба Поделиться Опубликовано 11 января, 2011 Lakers да да, точноинкремент и декремент выше убил Ссылка на комментарий
CooDi Опубликовано 11 января, 2011 Жалоба Поделиться Опубликовано 11 января, 2011 if (col = !col) - всегда выполнитсяДобавлено спустя 54 секунды:я имел ввиду всегда тру. Ссылка на комментарий
Whirlpool Опубликовано 11 января, 2011 Жалоба Поделиться Опубликовано 11 января, 2011 CooDiразве?if (var = false) { /* не выполнится */}if (var = true) { /* выполнится */ }всю эту канитель проверил как в неверной студии, так и на г++ - работает Ссылка на комментарий
CooDi Опубликовано 11 января, 2011 Жалоба Поделиться Опубликовано 11 января, 2011 WhirpoolНу да, точно, ты прав. Надо подучить матчасть мне Ссылка на комментарий
Andrej Опубликовано 11 января, 2011 Жалоба Поделиться Опубликовано 11 января, 2011 int n=8;//размер поляfor(int i=0;i for(int j=0;j if ((i+j) % 2 == 0){ // закрашивание i j клетки } }} Ссылка на комментарий
Cristian Опубликовано 17 января, 2011 Жалоба Поделиться Опубликовано 17 января, 2011 Вопрос по Visual C++, я создаю форму, ставлю как фон картинку, далее создаю PictureBox, ставлю другую картинку на него, а потом на PictureBox размещаю Label с надписью, делаю цвет транспарант, и фон этого лабела просвечиваем прям до формы, то есть фоном лабела стал фон Формы самой, как сделать так чтобы просвечивало до puxtureBox ?Как видно на рисунке, Label прозрачный, но эта прозрачность непосредственно до формы, а обьекты Button и PictureBox, расположенные сзади, перекрыты! Ссылка на комментарий
0xDEADBEEF Опубликовано 17 января, 2011 Жалоба Поделиться Опубликовано 17 января, 2011 CristianВаш вопрос имеет весьма опосредованное отношение к С++.В пору создавать тему .NET вопросы и ответы. Ссылка на комментарий
Lakers Опубликовано 17 января, 2011 Жалоба Поделиться Опубликовано 17 января, 2011 ну судя по всему парент у лайбла это форма, возможно поможет если парента указать пикчурбокс.PictureBox MyPB;TLabel *label=new Label(MyPB);label->Parent=MyPB;чтото типо того. Ссылка на комментарий
Cristian Опубликовано 17 января, 2011 Жалоба Поделиться Опубликовано 17 января, 2011 LakersЯ делал предком PictureBox, не работает.0xDEADBEEFМожет и нужно..._) Ссылка на комментарий
DAV Опубликовано 1 февраля, 2011 Жалоба Поделиться Опубликовано 1 февраля, 2011 Ну раз уж так, давайте начнем священные войныВот что очень давно хотелось обсудить в круге иммено бурятских сишников:1. Отличие С от С++. Имеется ввиду не банальное наличие классов/перегрузок/шаблонов, а нечто более существенное: идиомы и средства.Прежде, чем спорить о различных аспектах языка С, отличии С и С++ и т.д. надо знать мнемокод процессорных комманд и уметь пользоваться каким-либо отладчиком. Если не лень, то вместо рекурсивного гугления просто дизассемблировать и смотреть. Никаких проблем с типами!Разница между языками - типы. Ссылка на комментарий
DAV Опубликовано 2 февраля, 2011 Жалоба Поделиться Опубликовано 2 февраля, 2011 C++ более контекстно-зависимый язык чем C, что обеспечивается типами: ООП, шаблоны, специализации, перегрузки ...С фактически контекстно-зависим, за исключением неявного приведения и является просто макроассемблером с единым наименованием макросов с целью научить Эллочку-людоедку (кстати безуспешно). Уж лучше бы ее учили макроассемлеру. В С и С++ плохая система типов, сравните с Haskell. А фразы вроде " он гибкий" или " на на нем написаны операционные системы" это попугайство и глупость. Вся "гибкость" это введение в АЛГОЛ указателей, всего лишь доступ к памяти по косвенной адресации (LEA в процессорах Intell) и typedef для рекурсивного определения новых типов. Т. е. С и С++ я бы не называл языками, потому что их не может освоить Эллочка-людоедка! Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти