Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2009, 21:52   #1
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию TBitmap и указатели

Здравствуйте!
Изучаю С++ и возникла проблема : если коротко то мне надо создать переменку TBitmap и указатель на нее, чтобы передавать указатель какой либо функции.
Вот мой нерабочий код:
Код:
Graphics::TBitmap *virtualScreen=new Graphics::TBitmap;
Graphics::TBitmap * pVirtualScreen = & virtualScreen;
И еще вопрос- это правильный подход? Уменьшает ли он кол-во копирования изображения?
И еще можно потом использовать этот указатель как-то так ?
Код:
*************
class bot_tupoy
{
public:	
	void draw(Graphics::TBitmap * pBitmap);
*************
void bot_tupoy::draw(Graphics::TBitmap * pBitmap)
{
   pBitmap->Canvas->Ellipse(x-10,y-10,x+10,y+10);
}
Заранее благодарен
Levsha100 вне форума Ответить с цитированием
Старый 17.05.2009, 22:06   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А это зачем?
Код:
Graphics::TBitmap * pVirtualScreen = & virtualScreen;
У вас же уже есть указатель virtualScreen. Почему бы не работать с ним?
То есть:
Код:
class bot_tupoy
{
private:
int x,y;
public:
void draw(Graphics::TBitmap * pBitmap);
bot_tupoy() : x(20),y(30) {}
};

void bot_tupoy::draw(Graphics::TBitmap * pBitmap)
{
   pBitmap->Canvas->Ellipse(x-10,y-10,x+10,y+10);
}


void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Graphics::TBitmap *virtualScreen=new Graphics::TBitmap;
  virtualScreen->Width = Image1->Width;
  virtualScreen->Height = Image1->Height;
  bot_tupoy BOT;
  BOT.draw(virtualScreen);
  Image1->Canvas->Draw(0,0,virtualScreen);
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 17.05.2009, 22:33   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
Смех

Спасибо огромнейшое! Как раз то что я хотел узнать!
Только разъясните мне, пожалуйста, что означает этот кусок кода:
Код:
bot_tupoy() : x(20),y(30) {}
P.S.Игру пишу А название бота из-за того что он передвигаеться рандомно
Levsha100 вне форума Ответить с цитированием
Старый 17.05.2009, 22:36   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
bot_tupoy() : x(20),y(30) {}
Это конструктор. В данном случае переменные x и y инициализируются значениями 20 и 30.
То есть, это то же, что и
Код:
bot_tupoy()
 {
 x = 20;
 y = 30;
 }
Цитата:
А название бота из-за того что он передвигаеться рандомно
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C] массивы, указатели, двойные указатели. Iggel Общие вопросы C/C++ 5 05.05.2009 12:39
движение TBitMap Juffin Мультимедиа в Delphi 1 14.04.2009 21:34
объект класса TBItmap albatros Мультимедиа в Delphi 3 27.03.2009 16:23
TBitmap odi_noki Мультимедиа в Delphi 17 25.10.2008 09:53
TBitmap в многопоточном приложении Sergey_nl Мультимедиа в Delphi 3 09.07.2007 00:34