Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
1

Не отображается конструктор с параметрами

15.03.2011, 20:18. Показов 3281. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
// рншр.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
 
 
class compyter
{
 
public:
compyter();
compyter(char*,float,int);
compyter(compyter &c);
void print_compyter();
~compyter();
 
private:
char *name;
float chastota;
int pamajt;
};
 
compyter::compyter()
{
   pamajt=256;
   chastota=2000;
   name=new char[20];
   strcpy(name,"Komp");
   printf("constructor has called without parametrs\n");
}
 
compyter::compyter(char* p,float ch,int m)
{
   pamajt=m;
   chastota=ch;
   name=new char[strlen(p)+1];
   strcpy(name,p);
      printf("constructor has called with parametrs\n");
}
 
compyter::compyter(compyter &c)
{
   pamajt=c.pamajt;
   chastota=c.chastota;
   name=new char[strlen(c.name)+1];
   strcpy(name,c.name);
      printf("Object has made with CopyConstructor\n");
}
 
void compyter::print_compyter(void){
   printf("Name = %s\n",name);
   printf("Chastota = %lf\n",chastota);
   printf("Pamajt = %d\n",pamajt);
}
compyter::~compyter()
{
delete [] name;
}
 
int main()
{       compyter k1;
        compyter k2(k1);
 
        k1.print_compyter();
        k2.print_compyter();
        system("PAUSE");
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2011, 20:18
Ответы с готовыми решениями:

Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно»
Помогите пожалуйста, хоть с одним из заданий. 1. Создать класс. Написать конструктор по...

Определить конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, деструктор
Создать класс «матрица». Данный класс должен содержать элементы типа int, определяющие число строк,...

Конструктор с параметрами И конструктор по умолчанию. Как?
Опять прошу совета. Выполняю тут из интернета задания. Класс надо создать, там будут конструкторы и...

Конструктор с параметрами
Забыл как выводить конструктор с параметрами, пробую так не выходит. #include &lt;iostream&gt; using...

28
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 21:08 2
Клянусь богами дежа-вю схватил:Определение объекта, который вызвает конструктор. Не из той же оперы вопрос?О_о Если верно понял суть вопроса то "почему не выводятся строчки из конструкторов с параметрами". Выводятся.
Миниатюры
Не отображается конструктор с параметрами  
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 21:26  [ТС] 3
именно! получается все правильно? типа два одинаковых?
Predator_2004 а ты тож лабы делаешь?
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 21:32 4
Цитата Сообщение от garikkk1 Посмотреть сообщение
а ты тож лабы делаешь?
В некотором смысле. Обучаю студентов уму-разуму.
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 21:38  [ТС] 5
а тут ошибка и я не знаю что делать, помоги пли3


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
#include "stdafx.h"
#include <iostream>
 
class Addr
{
 public:
Addr();
Addr(char*,char*, char*,int);
Addr(Addr &c);
void print_Addr();
~Addr();
 
private:
char *countru;
char *town;
char *street;
int number;
};
 Addr::Addr()
{
   number=10;
   street="Im I.Chemesa";
   strcpy(street,"Addr");
   town="Taganrog";
   strcpy(town,"Addr");
   country="Russia";
   strcpy(country,"Addr");
 
   printf("constructor has called without parametrs\n");
}
 
Addr::Addr(char* t,char *st, char *co, int n)
{
   number=n;
   street=new char[strlen(st)+1];
   strcpy(street,st);
   town=new char[strlen(t)+1];
   strcpy(town,t);
   country=new char[strlen(co)+1];
   strcpy(country,t);
 
      printf("constructor has called with parametrs\n");
}
 
Addr::Addr(Addr &c)
{
   number=c.number;
   street=new char[strlen(c.street)+1];
   strcpy(street,c.street);
   town=new char[strlen(c.town)+1];
   strcpy(town,c.town);
   country =new char[strlen(c. country)+1];
   strcpy(country,c. country);
 
      printf("Object has made with CopyConstructor\n");
}
 
void Addr::print_Addr(void)
{
   printf("country - %s\n",country);
   printf("town - %s\n",town);
   printf("street - %lf\n",street);
   printf("number - %d\n",number);
}
Addr::~Addr()
{
delete [] country;
delete [] town;
delete [] street;
}
 
int main()
{       Addr k1;
        Addr k2(k1);
 
        k1.print_Addr();
        k2.print_Addr();
        system("PAUSE");
        return 0;
}
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 21:46 6
Орфографическая ошибка строка 14. Судя по вылету там еще со строками серьезные косяки. Внимательно осмотрите код, может сами найдете)
1
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 21:47  [ТС] 7
Цитата Сообщение от Predator_2004 Посмотреть сообщение
Орфографическая ошибка строка 14. Судя по вылету там еще со строками серьезные косяки. Внимательно осмотрите код, может сами найдете)
ппц 2 день бошку ломаю


в откладке всеровно

C++
1
2
3
main_loop:                          ; edx contains first dword of sorc string
        mov     [edi],edx           ; store one more dword
        add     edi,4               ; kick dest pointer
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 21:49 8
Какой смысл у строки скажем 23?
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 21:57  [ТС] 9
Цитата Сообщение от Predator_2004 Посмотреть сообщение
Какой смысл у строки скажем 23?
в кратце
strcpy(str, s); / strcpy_s(str, strlen(s), s); / - этот символ значит только то, что приводимый пример одинаково работал как для strcpy(str, s); так и для strcpy_s(str, strlen(s), s);
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 22:12 10
У вас не проходит копирование. Выделенного места не хватает судя по всему.
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 22:13  [ТС] 11
Цитата Сообщение от Predator_2004 Посмотреть сообщение
У вас не проходит копирование. Выделенного места не хватает судя по всему.
и как быть? может испрвишь как правильно
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 22:27 12
Ну например обратитесь к первому примеру. Там есть такая интересная вещь как выделение памяти под строки. И поскольку пример работоспособен предлагаю вам его проанализировать и устранить косяки. Исправить всегда можно, но как показывает практика, без понимания косяки будут появляться и появляться, так что дерзайте! Успехов!
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 22:32  [ТС] 13
Цитата Сообщение от Predator_2004 Посмотреть сообщение
Ну например обратитесь к первому примеру. Там есть такая интересная вещь как выделение памяти под строки. И поскольку пример работоспособен предлагаю вам его проанализировать и устранить косяки. Исправить всегда можно, но как показывает практика, без понимания косяки будут появляться и появляться, так что дерзайте! Успехов!
помойму вы не ту прогу смотрите)) на предыдущей стр. там где class Addr
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 22:37 14
Ориентируйтесь на пример с компьютером.
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 22:38  [ТС] 15
Цитата Сообщение от Predator_2004 Посмотреть сообщение
Ориентируйтесь на пример с компьютером.
так и делал

Добавлено через 1 минуту
Цитата Сообщение от garikkk1 Посмотреть сообщение
так и делал
так как у меня 3 char а не одно, то я выделил память под все 3 и удалил 3.
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 22:39 16
Ну и как?
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 22:41  [ТС] 17
Цитата Сообщение от Predator_2004 Посмотреть сообщение
Ну и как?
ошибка (на 1-ой странице) в откладку кидает.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
15.03.2011, 22:49 18
еще раз посмотри
Цитата Сообщение от garikkk1 Посмотреть сообщение
name=new char[strlen(p)+1];
strcpy(name,p);
и

Цитата Сообщение от garikkk1 Посмотреть сообщение
street="Im I.Chemesa";
strcpy(street,"Addr");
заметил разницу????

Добавлено через 2 минуты
Цитата Сообщение от Predator_2004 Посмотреть сообщение
У вас не проходит копирование. Выделенного места не хватает судя по всему.
Не у него нарушение доступа
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.03.2011, 22:52 19
Цитата Сообщение от ValeryS Посмотреть сообщение
Не у него нарушение доступа
Можно подробнее а то я в конце дня не соображу?
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 22:52  [ТС] 20
Цитата Сообщение от ValeryS Посмотреть сообщение
еще раз посмотри

и


заметил разницу????

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

Не у него нарушение доступа
C++
1
2
3
4
5
6
7
compyter::compyter(char* p,float ch,int m)
{
   pamajt=m;
   chastota=ch;
   name=new char[strlen(p)+1];
   strcpy(name,p);
      printf("constructor has called with parametrs\n");
и

C++
1
2
3
4
5
6
7
8
9
10
11
Addr::Addr(char* t,char *st, char *co, int n)
{
   number=n;
   street=new char[strlen(st)+1];
   strcpy(street,st);
   town=new char[strlen(t)+1];
   strcpy(town,t);
   country=new char[strlen(co)+1];
   strcpy(country,co);
 
      printf("constructor has called with parametrs\n");

вроде правильно
0
15.03.2011, 22:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2011, 22:52
Помогаю со студенческими работами здесь

Конструктор (с параметрами)
public Osob (Osob o1, Osob o2){ int crossPoint = (int)(Math.random() * 10); ...

Конструктор с параметрами
Вот пример структуры моей программы. class Entity { protected: int id; public:...

Конструктор с параметрами
Добрый день. Я не считаю, что задавать вопросы в стиле (Я не могу решить задание на степике,...

Конструктор с параметрами
Добрый День/Вечер/Ночь! Возникла ситуация, с которой я не могу разобраться: в конструктор с двумя...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru