Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
 Аватар для Наталия_Dona
511 / 2 / 1
Регистрация: 14.10.2009
Сообщений: 31

Создание собственного класса

27.10.2009, 19:28. Показов 3284. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите где и как нужно описывать что б создался собственный клас. и для чиво и как он работает)))

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
int sortfunc(const void* a, const void* b){
  return *(int*)a - *(int*)b;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){
 
  randomize();
  for(int i = 0; i < stG2->ColCount; i++){
    for(int j = 0; j < stG2->RowCount; j++){
      stG1->Cells[i][j] = random(100);
    }
  }}
//---------------------------------------------------------------------------
void __fastcall TForm1::LoadClick(TObject *Sender)
{
String path= GetCurrentDir();
TIniFile *Ini=new TIniFile (path+ "\\MyIni");
Ini ->WriteInteger ("Form","Left", Left);
delete Ini;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{ int a[5][5], i, j, b;
for (int i=0;i<5;i++)
{
  for(int j=0;j<5;j++)
  {
    a[i][j] = StrToInt(stG1->Cells[i][j]);
  }
}
for (int i=0;i<2;i++)
{
  for(int j=0;j<2;j++)
  {
    b=a[i][4-j];
    a[i][4-j]=a[4-j][i];
    a[4-j][i]=b;
  }
}
for (int i=0;i<5;i++)
{
  for(int j=0;j<5;j++)
  {
    stG2->Cells[i][j] = a[i][j];
  }
}
 
 
}
//---------------------------------------------------------------------------
Добавлено через 2 минуты
вот для етой программы. нам обьясняли что нужно выбрать какуюто одну функцию.... через privat public
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2009, 19:28
Ответы с готовыми решениями:

Выделением памяти под переменные собственного класса
Создаю указатель собственного типа, выделяю память - ошибка &quot;Write to Adress 0x00000&quot; По коду: MyClass* pMyClass; pMyClass=new...

Использование объектов формы в методах собственного класса
Можно ли использовать объекты формы в методах собственного класса. Например передать объект формы допустим Image в метод и в методе в его...

Создание собственного таймера
Добрый вечер, уважаемые участники форума!!! Тут привел фрагмент кода, который при заданном времени выводил сообщение: void...

12
 Аватар для Наталия_Dona
511 / 2 / 1
Регистрация: 14.10.2009
Сообщений: 31
29.10.2009, 14:33  [ТС]
что некто не сталкивался???(((
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
29.10.2009, 14:36
вот тебе пример класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
class TTech{
private:
  TStringList* NarStruct;
  TStringList* SendData;
  AnsiString __fastcall GetValue(AnsiString Index){
    return NarStruct->Strings[ListF->IndexOf(Index)];
  }
  void __fastcall SetValue(AnsiString Index, AnsiString Value){
    NarStruct->Strings[ListF->IndexOf(Index)] = Value;
  }
  AnsiString __fastcall GetValue(int Index){
    return SendData->Strings[Index];
  }
  void __fastcall SetValue(int Index, AnsiString Value){
    if(ConvertName(NarStruct->Strings[Index].Trim()) != ConvertName(Value.Trim()))
      SendData->Add(ListF->Strings[Index] + "‡" + Value);
  }
public:
  AnsiString RowId, Cnt;
  int Len;
  TStringList* ListF;
  __fastcall TTech(TStringList* Lst){
    SendData = new TStringList();
    NarStruct = new TStringList();
    ListF = new TStringList();
    ListF->Clear();
    SendData->Clear();
    NarStruct->Clear();
    for(int i = 0; i < Lst->Count; i++){
      if(Lst->Strings[i].UpperCase() == "ROWID"
      || Lst->Strings[i].UpperCase() == "RID"
      || Lst->Strings[i].UpperCase() == "CNT") continue;
      ListF->Add(Lst->Strings[i]);
      NarStruct->Add("");
    }
    Len = ListF->Count;
    for(int i = 0; i < Len; i++) Data[ListF->Strings[i]] = "";
    RowId = "", Cnt = "000000000";
  }
  void __fastcall SendClear(){
    SendData->Clear();
  }
  void __fastcall Clear(){
    SendData->Clear();
    for(int i = 0; i < Len; i++) Data[ListF->Strings[i]] = "";
    RowId = "", Cnt = "000000000";
  }
  AnsiString __fastcall Load(){
    AnsiString Res = RowId + "†" + Cnt + "†" + IntToStr(SendData->Count) + "†";
    for(int i = 0; i < SendData->Count; i++) Res += SData[i] + "†";
    return Res;
  }
  __property AnsiString Data[AnsiString Index] = {read = GetValue, write = SetValue};
  __property AnsiString SData[int Index] = {read = GetValue, write = SetValue};
  __fastcall ~TTech(){
    delete ListF;
    delete NarStruct;
    delete SendData;
  }
};
1
 Аватар для Наталия_Dona
511 / 2 / 1
Регистрация: 14.10.2009
Сообщений: 31
29.10.2009, 14:43  [ТС]
извеняюсь но в каком именно файле ево описывать))
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
29.10.2009, 14:44
Наталия_Dona, ну это уже зависит от вас и от того, какой областью видимости должен обладать ваш класс
1
 Аватар для Наталия_Dona
511 / 2 / 1
Регистрация: 14.10.2009
Сообщений: 31
29.10.2009, 14:46  [ТС]
а для чево он вопще нужен???? пажалуста раскажите в двух словах
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
29.10.2009, 14:49
Наталия_Dona, кто нужен?
0
 Аватар для Наталия_Dona
511 / 2 / 1
Регистрация: 14.10.2009
Сообщений: 31
29.10.2009, 14:51  [ТС]
класс
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
29.10.2009, 14:59
Класс -это совокупность сходных между собой объектов. И он составляет основу ООП. Также есть полиморфизм и наследование которые тоже входят в основу ООП.
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
29.10.2009, 14:59
Наталия_Dona, мой или вообще в принципе?
1
 Аватар для Наталия_Dona
511 / 2 / 1
Регистрация: 14.10.2009
Сообщений: 31
29.10.2009, 15:02  [ТС]
в принципе для чево нужен клас????
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
29.10.2009, 15:04
Думаю, тут будет написано лучше, чем я смогу объяснить своими словами:
http://ru.wikipedia.org/wiki/%... 8%D0%B5%29
1
 Аватар для Наталия_Dona
511 / 2 / 1
Регистрация: 14.10.2009
Сообщений: 31
29.10.2009, 15:56  [ТС]
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
class myClass
{
  private int mA;
  private string mB;
 
  public myClass(int a, string b)
  {
    mA = a;
    mB = b;
  }
}
вот паходу самое понятное ак для меня))) а описать ево наверно нада в unit.h

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <Grids.hpp>
#include <IniFiles.hpp>
//---------------------------------------------------------------------------
class myClass TForm1 : public TForm
{
__published:    // IDE-managed Components
        TStringGrid *stG1;
        TStringGrid *stG2;
        TBitBtn *BitBtn1;
        void __fastcall LoadClick(TObject *Sender);
        void __fastcall BitBtn1Click(TObject *Sender);
private: int a[5][5], i, j, b;    // User declarations
public:      myClass(int a[5][5], i, j, b)
{b=a[i][4-j];
    a[i][4-j]=a[4-j][i];
    a[4-j][i]=b;}
}// User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2009, 15:56
Помогаю со студенческими работами здесь

Создание собственного обработчика события
Есть компонент с TStringList, как добавить в этот компонент собственный обработчик события? К примеру отлавливать его изменения и...

Создание собственного компонента. Как?
Доброго всем времени суток. Пишу клиент-серверное приложение на основе Client ~ServerSocket'ов При общении клиента с сервером...

Создание собственного стиля окон
Как в C++ Builder создать свой вид форм вместо стандартного вида?

Qreport создание собственного предпросмотра
Есть 2 формы. Form1 : на ней находится пять quickrep (quickrep1-quickrep5). Form2 : на ней находится QRPreview. Вопрос: Как связать...

Создание собственного милисекундного и микросекундного таймера
Здравствуйте, форумчане! Задача у меня такая. Нужно отправлять UDP пакеты с частотой 50 Гц +- 5 Гц (каждые 20 мс), в каждом пакете должно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru