Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
lav1ka
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 7
#1

помогите откомпилировать! - C++

22.09.2011, 20:54. Просмотров 741. Ответов 19
Метки нет (Все метки)

Помогите пожалуйста откопмилировать!
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
#include <stdafx.h>
#include <iostream>
#class TA{
        int a;
        int b;
        public:
        int d;
        TA (int x=3,int y=4){a=x;b=y;}
        friend void print(TA&);
        friend class TB;
 
};
class TB{
        public:
        void inc_TA(TA& inca){inca.a++;};
        void inc_TB(TA& incb){incb.b++;};
};
       void print(TA &obj)
       {cout<<obj.a<<"\t"<<obj.b<<endl;}
 
void main()
{
        TA b,*c,d(4,5),*z;
        c=new TA();
        z=new TA(7,8);
        print(b);
        print(d); //4 5
        print(*c);
        print(*z);
 
        delete c;
        delete z;
 
        TB q;
        q.inc_TA(d);
        q.inc_TB(d);
        print(d);//5 6
 
        cin.get();
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2011, 20:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос помогите откомпилировать! (C++):

помогите откомпилировать! - C++
помогите пожалуйста откомпилировать! #include &lt;stdafx.h&gt; #include &lt;iostream&gt; #class TA{ int a; int b; ...

Откомпилировать - C++
Здаствуйте:) Можете откомпилировать программу и выслать файл PSDP В строке &quot;vvedite razmer PSDP v megobaitah&quot; введите &quot;1&quot;. Заранее...

не могу откомпилировать - C++
подскажите как перевестити .cpp файл в EXE. я юзаю Dev-C++

Не могу откомпилировать - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cstring&gt; //using namespace std; using std::cin; using std::cout; using...

Откомпилировать сорсы - C++
Здравствуйте. Помогите пожалуйста. Необходимо откомпилировать сорсы. Имеем win7x64 vs2015 и сами сорсы созданные в более ранней...

не получается откомпилировать - C++
Есть программный код. #include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; // вернуть строку с...

19
Евгений М.
1036 / 977 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 2
23.09.2011, 09:07 #2
C++
1
#class TA{
уберите решетку

C++
1
void main()
Товарищи, мне уже надоела запись "void main()"
0
-=ЮрА=-
Заблокирован
Автор FAQ
23.09.2011, 09:52 #3
Цитата Сообщение от lav1ka Посмотреть сообщение
TA (int x=3,int y=4)
- так не пойдёт
хочешь начальный инит делай конструктор без параметров!

Добавлено через 3 минуты
lav1ka, вот и всё, я добавил лишь TA (){a = 3;b = 4;}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class TA
{
private:
        int a;
        int b;
public:
        int d;
        TA ()           {a = 3;b = 4;}
        TA (int x,int y){a=x;b=y;}
        friend void print(TA&);
        friend class TB;
 
};
Добавлено через 1 минуту
PS:У меня компилятор старый поэтому вначале после хедеров using namespace std; дописать пришлось
Вот работа программы
3 4
4 5
3 4
7 8
5 6
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
23.09.2011, 13:21 #4
-=ЮрА=-, Это кто сказал, что так не пойдет?
0
silent_1991
23.09.2011, 14:09
  #5

Не по теме:

ForEveR, борланд 3.1 мб?

3
-=ЮрА=-
Заблокирован
Автор FAQ
23.09.2011, 15:50 #6
Цитата Сообщение от ForEveR Посмотреть сообщение
=ЮрА=-, Это кто сказал, что так не пойдет?
Цитата Сообщение от silent_1991 Посмотреть сообщение
Не по теме:
ForEveR, борланд 3.1 мб?
Достаточно широкий аспект задачь можно решить одним личшь конструктором преобразования, но вот когда дело каснётся памяти, а особенно её изменения тогда это никуда негодное построение класса!Предположим в ТА (класс, который приведен здесь) уже 3 переменных, и одна из них void * lpBuffer, которую нужно будет многократно менять в течении программы хммм мне интересно как же тогда сие будет выглядеть
Цитата Сообщение от lav1ka Посмотреть сообщение
TA (int x=3,int y=4){a=x;b=y;}
?
ИМХО в случае если конструктор по умолчанию был атавизмом его бы вообще не использовали даже при объяеснении понятия класс, тем более при объяевлении типов данных, хотя бы тот же СString который 3 конструктора имеет. ТС писал
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
так не пойдёт хочешь начальный инит делай конструктор без параметров!
чтобы не приучалась к плохому а именно одним конструктором всё решать, это годиться для решения 2+2 и не годиться для написания чего то более сложного нежели чёрный экран консоли...
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
23.09.2011, 16:21 #7
-=ЮрА=-, В программе главное логика, а не окошки.
Я бы не сказал, что это некорректно.
Но не суть.
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
23.09.2011, 18:12 #8
-=ЮрА=-, что-то маловато вы придумали, надо было развернуться, целую книгу написать...
Лезем в сурцы gcc. Например, в файлик vector. И видим такой вот набор конструкторов:
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
      explicit vector(const _Allocator& __a = _Allocator())
      : _Base(__a)
      { 
        __profcxx_vector_construct(this, this->capacity());
        __profcxx_vector_construct2(this);
      }
 
      explicit vector(size_type __n, const _Tp& __value = _Tp(),
              const _Allocator& __a = _Allocator())
      :  _Base(__n, __value, __a)
      { 
        __profcxx_vector_construct(this, this->capacity());
        __profcxx_vector_construct2(this);
      }
 
      template<class _InputIterator>
        vector(_InputIterator __first, _InputIterator __last,
           const _Allocator& __a = _Allocator())
    : _Base(__first, __last, __a)
      { 
        __profcxx_vector_construct(this, this->capacity());
        __profcxx_vector_construct2(this);
      }
 
      vector(const vector& __x)
      : _Base(__x) 
      { 
        __profcxx_vector_construct(this, this->capacity());
        __profcxx_vector_construct2(this);
      }
Вишь ты, gcc-шную реализацию stl-то невежды писали, везде, где можно, конструкторы с параметрами по умолчанию использовали. Расстрелять!
0
-=ЮрА=-
Заблокирован
Автор FAQ
23.09.2011, 18:25 #9
silent_1991, то о чем ты пишешь дословно звучит так на основе имеющихся возможностей ооп накинули виртуальные классы на что-то менее приземленное... Чтобы подвести итог спрошу-когда пишешь int val;а потом val=5;уж не два ли конструктора используем??
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
23.09.2011, 18:28 #10
-=ЮрА=-, я не смог связать набор слов из вашего последнего поста в осмысленное предложение. Либо излагайте мысли яснее, либо вообще этого не делайте.

Добавлено через 1 минуту
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
когда пишешь int val;а потом val=5;уж не два ли конструктора используем?
Не-а, один. Оператор присваивания - не конструктор. К тому же мы говорим о примитивных типах, а к ним вообще ОО-понятия лучше не применять.
0
-=ЮрА=-
Заблокирован
Автор FAQ
23.09.2011, 18:46 #11
Цитата Сообщение от silent_1991 Посмотреть сообщение
К тому же мы говорим о примитивных типах, а к ним вообще ОО-понятия лучше не применять.
- это примитивные типы являются базовыми, на которых потом всё и строится!
Цитата Сообщение от silent_1991 Посмотреть сообщение
я не смог связать набор слов из вашего последнего поста в осмысленное предложение.
по крайней мере это
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
int val;
конструктор без параметров,

По поводу сего -
Цитата Сообщение от silent_1991 Посмотреть сообщение
explicit vector(const _Allocator& __a = _Allocator())
* * * : _Base(__a)
* * * {
* * * * __profcxx_vector_construct(this, this->capacity());
* * * * __profcxx_vector_construct2(this);
* * * }
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Достаточно широкий аспект задачь можно решить одним личшь конструктором преобразования
Цитата Сообщение от silent_1991 Посмотреть сообщение
_Allocator()
- сие можно записать так a = malloc(1);
Далее при изменеии объёма данных для а делаем a = realloc(...) или если на ++
C++
1
2
3
а = new char[1]
char ch = a[0];
a[0] = &(new char[NewSize])[0];
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
23.09.2011, 21:16 #12
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
сие можно записать так a = malloc(1);
Поясните, с чего это вдруг объект класса "Allocator" можно заменить на malloc?
0
bambino
23.09.2011, 21:25
  #13

Не по теме:

-=ЮрА=-, Мда, видимо ООП это не твое, помолчи лучше, а то несешь такую херню, что аж смешно, ну реально, думаю многие тут со мой согласяться.

0
-=ЮрА=-
Заблокирован
Автор FAQ
23.09.2011, 21:56 #14

Не по теме:

bambino, для вас п 4 правил форума, а на счёт моих знаний не переживайте, лучше свой багаж берегите...



Добавлено через 15 минут

Не по теме:

silent_1991, я уже устаю воевать вопрос был один - мне было заявлено учасниками топика что конструктор без парамтров совсем не нужен, я повторю не был бы нужен - вообще бы такого не было!
Далее уже не пойму о чём сейчас речь идёт.
PS:Тем кто не может понять расширение существующего блока памяти с использованием new и особенно остр в выражениях советую сюда посмотреть Одномерный Массив

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Resize(int &n, int add, int * vec)
{
        int val = vec[n - 1];
        //Расширяем память под vec 
        //путём пристыковки новой области размером add
        if(0 < add)//если add положительное
        {
                vec[n - 1] = (new int[1 + add])[0];
                vec[n - 1] = val;
        }
//      if(add < 0)//Чистим память от лишних элементов
//              delete [] (void *)&vec[n - 1 + add];
        n += add;
}



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение
чего это вдруг объект класса "Allocator" можно заменить на malloc?
я этого не говорил а провожу аналогии...

0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
23.09.2011, 21:59 #15
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
мне было заявлено учасниками топика что конструктор без парамтров совсем не нужен
Пруф.

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
не был бы нужен - вообще бы такого не было
Полностью согласен.

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Тем кто не может понять расширение существующего блока памяти с использованием new и особенно остр в выражениях
Это вы, простите, о ком?

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
провожу аналогии
А вот этого делать не надо - мы вроде говорили о конкретных вещах, а не о чём-то около-плавающем.
0
23.09.2011, 21:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2011, 21:59
Привет! Вот еще темы с ответами:

не могу откомпилировать - C++
Такая проблема: При компиляции появляется сообщение «Не удается найти указанный файл». Что бы я не ввёл, даже если в коде нет абсолютно...

C++ не могу откомпилировать программу - C++
Всем привет помогите плиз с проблемой начал учить язык по книге пользуюсь Microsoft Visual Stusio 2012 написал такой код /*Sample.cpp*/ ...

Удачно откомпилировать исходлник - C++
Ребят, всем привет. Хотел обратиться к Вам с такой просьбой. Мало знаком с &quot;сишкой&quot;, так вот нарыл исходники по нужной мне теме, я так...

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.