ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

20.08.2009, 21:08
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
как сравнить два массива типа char name1[100]; ? ато блин что я тока неперепробовал мине тока вот етото страшныи способ пришол в голову но чето он мине както ненравится некрасиви какоито
Код:
#include <iostream>
using namespace std;
int main ()
{
char array1[10];
char array2[10];
cin>>array1;
cin>>array2;
int i=0,j=0;
for (;i<sizeof(array1)&&i<sizeof(array2);i++)
{
if(array1[i]==array2[i])
j++;
}
if(j==i)
cout <<"same name\n";
else
cout<<"not same name\n";
system ("pause");
return 0;
}
|
|
|

20.08.2009, 21:17
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
new-sl
функция memcmp
|
|
|

21.08.2009, 14:13
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Создаю консольное приложение (т.е. приложение без формы) с TTcpClient.
Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#include <Sockets.hpp>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
TTcpClient *TcpClient1;
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
TcpClient1 = new TTcpClient(this);
return 0;
}
//---------------------------------------------------------------------------
И получаю ошибку
'this' can only be used within a member function c++
Первый раз кодю в Borland C++, говорят, он лучше, всегда кодил в Delphi
В чем моя ошибка?
|
|
|

21.08.2009, 14:20
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
проблема та же, что и у всех - книжки не читаем. читаем главу что есть this и почему он не валиден в функциях, не принадлежащих классам и в статических методах класса. c++ - не делфи. тут нада немного думать и немного знать...
|
|
|

21.08.2009, 16:50
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Вместо this поставил текущий объект, т.е. TcpClient1 
|
|
|

21.08.2009, 19:15
|
|
Познающий
Регистрация: 27.05.2009
Сообщений: 44
Провел на форуме: 105684
Репутация:
-1
|
|
даите пожауиста хорошое пособие по связаным спискам я искал в гоогле но чето немагу ничо талковова наити
|
|
|

22.08.2009, 11:35
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Поищи в данном топике. Совсем недавно обсуждалась тема.
|
|
|

22.08.2009, 12:16
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
нужен человек, хорошо знающий С++, чтобы дописать и исправить три небольших программки на голых плюсах
подробности в аське 867766 90
|
|
|

22.08.2009, 22:29
|
|
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
Провел на форуме: 233095
Репутация:
21
|
|
Объясните плз принцип перегрузки оператора [] и совместное использование его с оператором = , а то никак догнать не могу как он работает...
Код:
class Animal
{
public:
Animal() {}
Animal(int a): age(a) { }
~Animal() { };
int Get() { return age; }
private:
int age;
};
template <class T>
class Array
{
public:
Array() { size = 10; pType = new T[size]; for(int i = 0; i < size; i++) { pType[i] = 0; } }
Array(const Array& rhs);
~Array() { delete [] pType; }
int GetSize() {return size;}
Array& operator = (const Array& rhs);
T& operator [] (int offset) { return pType[offset]; }
private:
T* pType;
int size;
};
template<class T>
Array<T>& Array<T>::operator =(const Array &rhs)
{
if(this == &rhs)
return this;
delete [] pType;
pType = new T[rhs.GetSize()];
for( int i = 0; i < rhs.GetSize(); i++)
pType[i] = rhs[i];
return *this;
}
void main()
{
Array<int> arr;
Array<Animal> zoo;
Animal* pAnimal;
for(int i = 0; i < 10; i++)
{
arr[i] = i*3;// !Начиная с этого места!
pAnimal = new Animal(i*2);
zoo[i] = *pAnimal;
}
}
Что вызывается первым, а что вторым(с метки в коде)
и какая цепочка следует?
Последний раз редактировалось horlyk; 22.08.2009 в 22:32..
|
|
|

22.08.2009, 23:04
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
встаешь на строку
zoo[i] = *pAnimal;
и жмешь Step Into и наблюдаешь, как это все работает. Увидишь и создание копии объекта и порядок вызова операторов.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|