Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170

Классы и их свойства

27.10.2013, 19:23. Показов 6558. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создадим приложение, которое взаимодействует с иерархией классов: TAnimal (базовый класс) и THuman, TDog, TCat (дочерние классы). Приложение должно не только создавать и уничтожать объекты дочерних классов, но и обмениваться сообщениями ("разговаривать") с ними.

это на дельфи
Кликните здесь для просмотра всего текста

Delphi
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, 
 
Controls, Forms,
  Dialogs, Buttons, StdCtrls, ExtCtrls;
 
type TAnimal = class(TObject)
      private
        Name: string;
      public
        String GetName();
        function TellMe: string; virtual; abstract;
        property TheName: string read GetName;
        constructor Create(AName: string);overload;
        constructor Create; overload;
        destructor Destroy;override;
      end;
 
type THuman = class(TAnimal)
   public
   function TellMe: string; override;
   end;
type TDog = class(TAnimal)
   public
   function TellMe: string; override;
   end;
type TFish = class(TAnimal)
   public
   function TellMe: string; override;
   end;
type TCat = class(TAnimal)
      public
         function TellMe: string; override;
         procedure SetName(AName: string);
         property TheName: string read GetName write SetName;
      end;
 
type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Edit1: TEdit;
    WhoRG: TRadioGroup;
    Label1: TLabel;
    SpeedButton4: TSpeedButton;
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure WhoRGClick(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
  private
  procedure Say(Animal:TAnimal);
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
var
    Human:THuman;
    Dog:TDog;
    Cat:TCat;
    Fish:TFish;
 
constructor TAnimal.Create;
begin
  Name := 'Атсыз';
end;
 
constructor TAnimal.Create(AName: string);
begin
  Name := AName;
end;
 
destructor TAnimal.Destroy;
begin
  ShowMessage(Self.TheName+ ' жойылды!');
  inherited Destroy;
end;
 
{$R *.dfm}
 
function TFish.TellMe;
begin
  Result := 'Золотинка';
end;
 
function THuman.TellMe;
begin
  Result := TheName;
end;
 
function TDog.TellMe;
begin
  Result := 'Гав-Гав!';
end;
 
function TCat.TellMe;
begin
  Result := 'Мяу-мяу!';
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Human := THuman.Create('Дэниел');
  SpeedButton1.Caption := Human.TheName;
  Dog := TDog.Create('Пушок');
  SpeedButton2.Caption := Dog.TheName;
  Cat := TCat.Create('Барсик');
  SpeedButton3.Caption :=  Cat.TheName;
  Fish := TFish.Create('Золотинка');
  SpeedButton4.Caption :=  Fish.TheName;
end;
 
function TAnimal.GetName;
begin
  Result := Name;
end;
 
procedure TCat.SetName(AName: string);
begin
  Name := AName;
end;
 
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  Human.Destroy;
  Human := THuman.Create(Edit1.Text);
  SpeedButton1.Caption := Human.TheName;
end;
 
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  Dog.Destroy;
  Dog := TDog.Create(Edit1.Text);
  SpeedButton2.Caption := Dog.TheName;
end;
 
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
  Cat.Destroy;
  Cat := TCat.Create(Edit1.Text);
  SpeedButton3.Caption := Cat.TheName;
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
   Human.Free;
   Dog.Free;
   Cat.Free;
   Fish.free;
end;
 
procedure TForm1.Say(Animal: TAnimal);
begin
Label1.Caption := Animal.TellMe;
end;
 
procedure TForm1.WhoRGClick(Sender: TObject);
begin
 case  WhoRg.ItemIndex of
   0: Say(Human);
   1: Say(Dog);
   2: Say(Cat);
   3: Say(Fish);
  end;
end;
 
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
  Fish.Destroy;
  Fish := Tfish.Create(Edit1.Text);
  SpeedButton4.Caption := fish.TheName;
end;
 
end.

мне нужно эту же задачу на С++ решить (или перевести этот код )
помогите пожалуйста
родительские и дочерные классы и их свойства не получается ни как
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.10.2013, 19:23
Ответы с готовыми решениями:

Классы. Свойства. Методы.
Здравствуйте! Помогите пожалуйста. Есть лабораторная работа и я не все понимаю. Значит есть класс Paper в котором 3 открытых ...

Классы, методы, свойства
Доброго времени суток, есть несколько вопросов по пайтону: 1. Предположим есть два файла, 1.py главный, 2.py содержит в себе некую...

Атрибуты C#, Методы, Классы, Свойства
Атрибуты C#, Методы, Классы, Свойства Задача вывести Значение Атрибутов что применяються на классе Я смог вывести только с...

26
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
28.10.2013, 21:14  [ТС]
можно хотябы наглядные примеры на :
родительские и дочерные классы
конструктор и деструктор

я посмотрела в инете но все ж не получается (((
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2013, 21:17
Ну а в чем конкретно сложность ?

Цитата Сообщение от Жанерке Посмотреть сообщение
мне нужно эту же задачу на С++ решить (или перевести этот код )
В С++Builder что ли ?
0
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
28.10.2013, 21:33  [ТС]
Avazart, да если можно)))

не получается дочерный класс
и конструктор и деструктор
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2013, 21:37
Цитата Сообщение от Жанерке Посмотреть сообщение
не получается дочерный класс
и конструктор и деструктор
Покажи код твоих попыток перевести, так думаю будет быстрее.

Дело в том что если пишешь VCL-класс необходимо добавлять соглашение о вызове __fastcall в методы и конструктор/деструктор что бы нормально работали свойства/события
0
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
28.10.2013, 21:43  [ТС]
Avazart, мне стыдно его позывать(((

потому что настолько не грамотно
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
28.10.2013, 22:16
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
#include <iostream>
using namespace std;
 
 
 
// базовый класс
class BASE {
public:
    BASE() {}           //  конструктор
    BASE(int g) { this->g = g; }    // конструктор копирования
    ~BASE() {}          // деструктор
 
    int g;
 
    int get_g() 
    {
        return this->g;
    }
 
    void set_g(int G)
    {
        this->g = G;
    }
};
// производный класс ( наследует от базового класса переменную g и методы get_g() и set_g() )
class DER : public BASE {
public:
    DER() {}            //  конструктор
    DER(int g) { this->g = g; } // конструктор копирования
    ~DER() {}           // деструктор
};
 
 
 
int main()
{
    // создание обьекта базового класса
    BASE base(20); // через конструктор копирования записали g = 20
    cout << "base.g = " << base.g << endl;
    base.set_g(25); // изменили через функцию значение g
    cout << "base.g = " << base.get_g() << endl;
 
    // создание обьекта производного класса
    DER der(30);
    cout << "der.g = " << der.g << endl;
    der.set_g(40); 
    cout << "der.g = " << der.get_g() << endl;
}
2
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2013, 22:20
Ну к примеру базовый класс будет выглядеть приблизительно так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class TAnimal: public TObject
{
      private:
        String FName;
      protected:
        String __fastcall GetName();
      public:
        virtual String  __fastcall TellMe();
        __fastcall TAnimal(String Name):FName(Name){}; //  конструктор
        virtual __fastcall ~TAnimal(){}; //  Деструктор
 
        String __property Name={ read= GetName }; // свойство
};
C++
1
2
3
4
5
class THuman: public TAnimal
{
   public:
     virtual String  __fastcall TellMe();
};
Итд.. думаю принцип понятен...
1
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
28.10.2013, 22:24  [ТС]
Avazart,
Цитата Сообщение от Avazart Посмотреть сообщение
__fastcall
это зачем ? можете объяснить??

Добавлено через 1 минуту
ночью просыпаются мой ангелы спасатели ))

спасибо за подсказки, примеры))
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2013, 22:29
Цитата Сообщение от Жанерке Посмотреть сообщение
это зачем ? можете объяснить??
Так в "чистом С++" нет свойств и событий, это расширения С++Builder которые "тянутся" с Delphi, собственно и работают они с этим соглашением вызовов.

Кстати класс TObject - тоже тянется с Delphi, из-за него надо создавать объекты классов динамически.

Пример programina на чистом С++ без использования VCL.
1
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
28.10.2013, 22:39  [ТС]
Avazart, понятно

спасибо

Добавлено через 7 минут
Avazart, programina, примере нет свойств

я все таки ваш пример использую
так как оно как раз под мою задачу )))
0
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
30.10.2013, 21:46  [ТС]
Avazart,
попыталась сделать как вы показали
Кликните здесь для просмотра всего текста

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include<stdio.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
class TAnimal: public TObject
{
      private:
        String FName;
      protected:
        String __fastcall GetName();
      public:
        virtual String  __fastcall TellMe();
        __fastcall TAnimal(String Name):FName(Name)
        {  Name=FName ;
        }; //  конструктор
        virtual __fastcall ~TAnimal()
        {ShowMessage(TheName + "жойылды!");
        }; //  Деструктор
 
        String __property TheName={ read= GetName }; // свойство
}
class THuman: public TAnimal
{
   public:
     virtual String  __fastcall TellMe();
};
class TDog : public  TAnimal
{
public:
     virtual String  __fastcall TellMe();
     }
class TCat : public TAnimal
{
 public:
     virtual String  __fastcall TellMe();
     }
class TFish : public TAnimal
{
public:
     virtual String  __fastcall TellMe();
     } ;
 
 THuman.TelMe(String a){
  a="Салем!" ;
  return a;
 }
 
   TDog.TelMe(String a){
  String a;
  a="Гав - Гав" ;
   return a;
 }
 
  TCat_TelMe(String a){
  String a;
  a="Мяу - Мяу" ;
   return a;
 }
 
  TFish.TelMe(String a){
  String a;
  a="Бульк - Бульк" ;
   return a;
 }
 
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Human = THuman.Create("Марсель");
  SpeedButton1->Caption = Human.TheName;
  Dog = TDog.Create("Арчи");
  SpeedButton2->Caption = Dog.TheName;
  Cat = TCat.Create("Багира");
  SpeedButton3->Caption =  Cat.TheName;
  Fish = TFish.Create ("Лунтик");
  SpeedButton4->Caption =  Fish.TheName;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Human.Destroy;
  Human = THuman.Create(Edit1->Text);
  SpeedButton1->Caption = Human.TheName;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
Dog.Destroy;
  Dog = TDog.Create(Edit1->Text);
  SpeedButton2->Caption = Dog.TheName;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
{
Cat.Destroy;
  Cat = TCat.Create(Edit1->Text);
  SpeedButton3->Caption = Cat.TheName;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
switch(RadioGroup1->ItemIndex) 
{
 case 0: Say(Human);
 case 1: Say(Dog);
 case 2: Say(Cat);
 case 3: Say(Fish);
}
}
//---------------------------------------------------------------------------


ошибки :
1, [C++ Error] Unit1.cpp(29): E2176 Too many types in declaration // указывает на дочерные классы все четыре
2, [C++ Error] Unit1.cpp(55): E2040 Declaration terminated incorrectly
ругается на точку
C++
1
2
3
4
 THuman.TelMe(String a){
  a="Салем!" ;
  return a;
 }
точку меняю на нижний
и тогда
[C++ Error] Unit1.cpp(52): E2034 Cannot convert 'AnsiString' to 'int'
почему функция не возвращает строку ::??

и еще не могла написать эти процедуры и функций
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
function TAnimal.GetName;
begin
  Result := Name;
end;
 
procedure TCat.SetName(AName: string);
begin
  Name := AName;
end;
procedure TForm1.Say(Animal: TAnimal);
begin
Label1.Caption := Animal.TellMe;
end;
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.10.2013, 21:59
C++
1
2
3
4
5
6
7
8
class THuman: public TAnimal
{
   public:
     virtual String  __fastcall TellMe()
     {
        return "Hello! I am Human.";
     };
};
Итд

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class TAnimal: public TObject
{
      private:
        String FName;
 
      protected:
        String __fastcall GetName()  //   <---  function TAnimal.GetName
        {
            return FName;
        }
 
      public:
// ... итд
}
Добавлено через 1 минуту
Delphi
1
2
3
4
procedure TCat.SetName(AName: string);
begin
  Name := AName;
end;

C++
1
2
3
4
void  TCat::SetName(String AName);
{
  FName= AName;
}
1
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
31.10.2013, 08:33  [ТС]
все еще не получается (((((

[C++ Error] Unit1.cpp(31): E2176 Too many types in declaration // указывает на дочерные классы
[C++ Error] Unit1.cpp(32): E2316 '_fastcall TAnimal::Creat(AnsiString)' is not a member of 'TAnimal'
[C++ Error] Unit1.cpp(63): E2247 'TAnimal::FName' is not accessible

надеюсь подскажете
0
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
31.10.2013, 08:34  [ТС]
вот мой попытки ;
Вложения
Тип файла: rar 6 зертхана.rar (150.9 Кб, 7 просмотров)
0
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
31.10.2013, 08:37  [ТС]
это на дельфи
который я раньше делала
результаты должны быть такие ж

но к сожелению на C++ не получается
Вложения
Тип файла: rar 6.rar (202.8 Кб, 9 просмотров)
0
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
31.10.2013, 10:21
Жанерке, описание класса нужно вынести в *.h файл. В описании класса только протопипы функций (declaration). Определение функций (definition) класса в *.cpp файл.


C++
1
Human = TAnimal.Creat(  "Марсель");
Неверный вызов. TAnimal - это имя класса. Методы класса доступны для объектов класса. Human является объектом класса THuman, который является наследником класса TAnimal. Для объекта Human метод Creat(String Name) доступен через точку.
C++
1
Human.Creat(  "Марсель");
Ещё ошибка здесь:
C++
1
2
3
4
    void  TCat::SetName(String AName)
    {
        FName = AName;
    }
По скольку FName объявлен как закрытое свойство:
C++
1
2
private:
    String FName;
- к нему доступ может быть только через метод класса. К примеру:
C++
1
String __fastcall SetName()
Пока вроде всё.
1
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
31.10.2013, 12:10  [ТС]
Цитата Сообщение от Kulgar Посмотреть сообщение
По скольку FName объявлен как закрытое свойство:

C++
1
2
private:
 String FName;
- к нему доступ может быть только через метод класса. К примеру:

C++
1
String __fastcall SetName()
А если мне Fname сделать public то можно да обойтись без метода класса,??

Цитата Сообщение от Жанерке Посмотреть сообщение
[C++ Error] Unit1.cpp(31): E2176 Too many types in declaration // указывает на дочерные классы
а про эту ошибку что можете сказать??
0
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
31.10.2013, 13:00
Цитата Сообщение от Жанерке Посмотреть сообщение
А если мне Fname сделать public то можно да обойтись без метода класса,??
Разумеется. К public свойствам объектов класса есть прямой доступ.


Цитата Сообщение от Жанерке Посмотреть сообщение
[C++ Error] Unit1.cpp(31): E2176 Too many types in declaration // указывает на дочерные классы
Цитата Сообщение от Жанерке Посмотреть сообщение
а про эту ошибку что можете сказать??
Уже не помню как устранил эту ошибку. Посмотреть/проверить времени нет.
Сделайте все изменения из моего предыдущего поста и выложите проект.
1
 Аватар для Жанерке
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
31.10.2013, 22:55  [ТС]
Kulgar, я попыталась примерно сделать так как вы подсказывали

не знаю правильно или нет (выдает много ошибок наверно неправилно сделала или не правильно поняла)

.h файл я вывела только родительский класс TAnimal
и хотела включить include<TAnimal.hpp> в этом же файл
но не получилось
Вложения
Тип файла: rar 6 зертхана.rar (101.1 Кб, 3 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2013, 22:55
Помогаю со студенческими работами здесь

Классы - поля, конструкторы, свойства
Должны присутствовать: - конструктор - методы задания (с контролем правильности) и чтения полей класса, класс список значений. Поля: Список...

Простейшие классы. Инкапсуляция и свойства.
:sorry: Я не могу доделать прогу,мне не хватает для неё закрытых и открытых полей....а также конструкторов с параметрами и без....и...

Сообщение о терминах классы объектов и их свойства
Сообщение о терминах классы объектов и их свойства.

Классы. Конструкторы. Методы. Свойства. Операторы
День добрый, плохо разбираюсь в С#, по сути только начал, буду рад тем кто поможет в данной ситуации Необходимо: Класс|Названия...

Классы, файлы, их свойства. Конструкторы. Деструкторы. Перегрузки
Доброго времени суток! Дорогие форумчане посоветуйте ссылки чтобы я почитал и смог написать данную программу, если что-то вы знаете,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru