Форум программистов, компьютерный форум CyberForum.ru

Не работает конструктор копирования - C++

Восстановить пароль Регистрация
 
Huligan799
-72 / 1 / 0
Регистрация: 23.04.2010
Сообщений: 149
17.04.2013, 18:59     Не работает конструктор копирования #1
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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
class my
{int x1,x2,y1,y2,col;
public:
my(int _x1=20, int _y1=5, int _x2=55, int _y2=15, int _col=1)
{x1=_x1; y1=_y1; x2=_x2; y2=_y2; col=_col;  cout<<"\nEto konstructor po umolchaniyu!";}
my1(int _x1, int _y1, int _x2, int _y2, int _col);
my(const my & ob){x1=ob.x1; y1=ob.y1; x1=ob.x1; y1=ob.y1; col=ob.col; cout<<"\nEto konstructor kopirovaniya!"; }
~my();
int get () {window(x1,y1,x2,y2); textbackground(col); clrscr(); return(col);}
};
my::my1(int _x1, int _y1, int _x2, int _y2, int _col)
{x1=_x1; y1=_y1; x2=_x2; y2=_y2; col=_col; cout<<"\nEto konstructor s parametrami!"; return 0;}
my::~my(){cout<<"\nEto destructor!";}
 
void main()
{int n;   clrscr();
cout<<"\nKonstruktor po umolchaniyu - 1";
cout<<"\nKonstructor s parametrami - 2";
cout<<"\nKonstrustor kopirovaniya - 3";
cout<<"\n\n";
cin>>n;
switch (n)
{case 1:
textbackground(0); clrscr();
my ob;
ob.get(); break;
 
case 2:
textbackground(0); clrscr();
ob.my1(20,5,60,20,4);
ob.get(); break;
 
case 3:
textbackground(0); clrscr();
my ob2(ob);
ob2.get(); break;
 
}
}
При вводе цифры 3 должен сработать конструктор копирования. А он ничего не выводит.

Добавлено через 2 часа 29 минут
???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2013, 18:59     Не работает конструктор копирования
Посмотрите здесь:

C++ Конструктор копирования не работает
C++ Не работает конструктор копирования
C++ Неправильно работает конструктор копирования list, почему?
C++ Класс матрица (не работает конструктор копирования)
C++ Не работает конструктор копирования почему-то...
Как работает конструктор копирования C++
Как работает конструктор копирования? C++
Не работает конструктор копирования C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Черный ворон
129 / 123 / 6
Регистрация: 31.01.2012
Сообщений: 435
17.04.2013, 19:47     Не работает конструктор копирования #2
Цитата Сообщение от Huligan799 Посмотреть сообщение
{case 1: textbackground(0); clrscr(); my ob; ob.get(); break;
вот где у Вас создается ob

Цитата Сообщение от Huligan799 Посмотреть сообщение
case 3: textbackground(0); clrscr(); my ob2(ob); ob2.get(); break;
а вот здесь Вы хотите его скопировать.
Однако я не заметил, чтобы предложение к выбору действия как-нибудь зациклено, чтобы последовательно произвести несколько выборов. таким образом выбирая 3 Вы пытаетесь скопировать, то чего не существует.
возможно Вам поможет если просто вынести объявление ob за пределы case
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
17.04.2013, 19:52     Не работает конструктор копирования #3
за пределы switch
Yandex
Объявления
17.04.2013, 19:52     Не работает конструктор копирования
Ответ Создать тему
Опции темы

Текущее время: 15:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru