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

Как сделать конструктор и деструктор с параметрами? - C++

Восстановить пароль Регистрация
 
fidelite62
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 9
14.04.2014, 16:58     Как сделать конструктор и деструктор с параметрами? #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
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include <iostream>
using namespace std;
    class music
 {
    public:
 
music( void ) {}
 
~music( void ){}
 
char TrackName [64];
float length;
char legality;
int year;
void Show_Music() 
{   cout << "Track: " << TrackName << endl;
    cout << "length:" << length << endl;
    cout << "Year: " << year << endl;
    cout << "Is it Legal?: " << legality << endl;
    cout <<"____________________________________________________"<<endl;    
}};
void main()
{   
 
    int n;
    float v;
    music Tracks[5];
    cout <<"How many tracks you want to enter"<<endl;
    cin>>n;
    system ("cls");
    for( int i=0; i<n; i++)
    {
        cout << "Input Track name"<<'\t'<< endl;
        cin >> Tracks[i].TrackName;
        cout << "Input length" <<'\t'<< endl;
        cin >> Tracks[i].length;
        cout << "Input Year" <<'\t'<< endl;
        cin >> Tracks[i].year;
        cout << "Is it Legal?(y/n)" <<'\t'<< endl;
        cin >> Tracks[i].legality;
        system ("cls");
    }
    int k=0;
for (int i=0; i<n; i++)
{ int j;
if (k==0){
 cout << "Do you want to show music data?(1-yes;2 -no)"<<endl;
 j=_gettch();
 if (j==49) {Tracks[i].Show_Music();}k++;}
else {Tracks[i].Show_Music();};}
system ("pause");}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2014, 16:58     Как сделать конструктор и деструктор с параметрами?
Посмотрите здесь:

C++ конструктор и деструктор
конструктор и деструктор в C++ C++
C++ Конструктор и деструктор
C++ Конструктор и деструктор
C++ Как выглядит конструктор и деструктор для vector ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
14.04.2014, 18:25     Как сделать конструктор и деструктор с параметрами? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
В классе может быть несколько конструкторов (и они должны различаться параметрами), и только один деструктор (у него параметров вообще быть не может)

Добавлено через 5 минут
C++
1
2
3
4
5
6
music(char *track, float len, char legal, int y) 
{   strcpy (TrackName, track);
    length = len;
    legality = legal;
    year = y;
}
fidelite62
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 9
14.04.2014, 18:53  [ТС]     Как сделать конструктор и деструктор с параметрами? #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
#include "stdafx.h"
#include <iostream>
using namespace std;
    class music
 {
    public:
music(char *track, float len, char legal, int y) 
{   strcpy (TrackName, track);
    length = len;
    legality = legal;
    year = y;
}
 
char TrackName [64];
float length;
char legality;
int year;
void Show_Music() 
{   cout << "Track: " << TrackName << endl;
    cout << "length:" << length << endl;
    cout << "Year: " << year << endl;
    cout << "Is it Legal?: " << legality << endl;
    cout <<"____________________________________________________"<<endl;    
 
}};
    
void main()
{   
 
    int n;
    float v;
    music Tracks[5];
    cout <<"How many tracks you want to enter"<<endl;
    cin>>n;
    system ("cls");
    for( int i=0; i<n; i++)
    {
        cout << "Input Track name"<<'\t'<< endl;
        cin >> Tracks[i].TrackName;
        cout << "Input length" <<'\t'<< endl;
        cin >> Tracks[i].length;
        cout << "Input Year" <<'\t'<< endl;
        cin >> Tracks[i].year;
        cout << "Is it Legal?(y/n)" <<'\t'<< endl;
        cin >> Tracks[i].legality;
        system ("cls");
    }
    int k=0;
for (int i=0; i<n; i++)
{ int j;
if (k==0){
 cout << "Do you want to show music data?(1-yes;2 -no)"<<endl;
 j=_gettch();
 if (j==49) {Tracks[i].Show_Music();}k++;}
else {Tracks[i].Show_Music();};}
 
system ("pause");}
Добавлено через 19 секунд
IrineK, Ответьте(
IrineK
Заблокирован
14.04.2014, 19:02     Как сделать конструктор и деструктор с параметрами? #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
32
class music
 {
public:
 
    music (): length(0), legality ('n'), year(0) 
    {   strcpy (TrackName, " ");
    }
 
    music(char *track, float len, char legal, int y) 
    {   strcpy (TrackName, track);
        length = len;
        legality = legal;
        year = y;
    }
 
    ~music( void ){}
 
    void Show_Music() 
    {   cout << "Track: " << TrackName << endl;
        cout << "length:" << length << endl;
        cout << "Year: " << year << endl;
        cout << "Is it Legal?: " << legality << endl;
        cout <<"____________________________________________________"<<endl;    
 
    }
 
 private:
    char TrackName [64];
    float length;
    char legality;
    int year;
};
fidelite62
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 9
14.04.2014, 19:09  [ТС]     Как сделать конструктор и деструктор с параметрами? #5
1>c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(9): error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:\programs\vc\include\string.h(110) : see declaration of 'strcpy'
1>c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(49): error C2248: 'music::TrackName' : cannot access private member declared in class 'music'
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(31) : see declaration of 'music::TrackName'
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(5) : see declaration of 'music'
1>c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(51): error C2248: 'music::length' : cannot access private member declared in class 'music'
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(32) : see declaration of 'music::length'
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(5) : see declaration of 'music'
1>c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(53): error C2248: 'music::year' : cannot access private member declared in class 'music'
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(34) : see declaration of 'music::year'
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(5) : see declaration of 'music'
1>c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(55): error C2248: 'music::legality' : cannot access private member declared in class 'music'
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(33) : see declaration of 'music::legality'
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(5) : see declaration of 'music'

Добавлено через 2 минуты
каак(
IrineK
Заблокирован
14.04.2014, 19:13     Как сделать конструктор и деструктор с параметрами? #6
Оспидя, да это только начало.
А вы уж сразу запускать.

Вы лучше скажите. чего это там происходит со строки 48?
fidelite62
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 9
14.04.2014, 19:25  [ТС]     Как сделать конструктор и деструктор с параметрами? #7
Я уже не знаю) у меня был готовый код, мне не нужно сейчас что бы программа что то делала, мне надо добавить паблик\приват, и добавить конструктор и деструктор

Добавлено через 9 минут
Каккк*?)
IrineK
Заблокирован
14.04.2014, 19:28     Как сделать конструктор и деструктор с параметрами? #8
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
#include <iostream>
using namespace std;
 
class Music
 {
public:
 
    Music (): length(0), legality ('n'), year(0) 
    {   strcpy (TrackName, " ");
    }
 
    Music(char *track, float len, char legal, int y) 
    {   strcpy (TrackName, track);
        length = len;
        legality = legal;
        year = y;
    }
 
    ~Music ( ){}
 
    void SetMusic (char *track, float len, char legal, int y) 
    {   strcpy (TrackName, track);
        length = len;
        legality = legal;
        year = y;
    }
 
    void Show_Music() 
    {   cout << "Track: " << TrackName << endl;
        cout << "length:" << length << endl;
        cout << "Year: " << year << endl;
        cout << "Is it Legal?: " << legality << endl;
        cout <<"____________________________________________________"<<endl;    
 
    }
 
 private:
    char TrackName [64];
    float length;
    char legality;
    int year;
};
    
 
int main () 
{   int n;
    char track[64];
    float len;
    char legal;
    int y;
    Music Tracks[5];
    cout <<"How many tracks you want to enter"<<endl;
    cin>>n;
    system ("cls");
    for( int i=0; i<n; i++)
    {   cin.sync();
        cout << "Input Track name"<<'\t'<< endl;
        cin.getline (track, 64);
        cout << "Input length" <<'\t'<< endl;
        cin >> len;
        cout << "Input Year" <<'\t'<< endl;
        cin >> y;
        cout << "Is it Legal?(y/n)" <<'\t'<< endl;
        cin >> legal;
        Tracks[i].SetMusic (track, len, legal, y);
        system ("cls");
    }
    
    for( int i=0; i<n; i++)
        Tracks[i].Show_Music();
    
    cin.sync(); cin.get();
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от fidelite62 Посмотреть сообщение
у меня был готовый код
* *
fidelite62
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 9
14.04.2014, 19:46  [ТС]     Как сделать конструктор и деструктор с параметрами? #9
error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

Вот у меня выбивает
IrineK
Заблокирован
14.04.2014, 19:51     Как сделать конструктор и деструктор с параметрами? #10
#define _CRT_SECURE_NO_WARNINGS
в самом верху
fidelite62
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 9
14.04.2014, 19:54  [ТС]     Как сделать конструктор и деструктор с параметрами? #11

1>c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(1): warning C4603: '_CRT_SECURE_NO_WARNINGS' : macro is not defined or definition is different after precompiled header use
1> Add macro to precompiled header instead of defining here
1> c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(2) : use of precompiled header
1>c:\users\yura\documents\visual studio 2012\projects\lab4costructor\lab4costructor\lab4costructor.cpp(11): error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:\programs\vc\include\string.h(110) : see declaration of 'strcpy'
IrineK
Заблокирован
14.04.2014, 19:57     Как сделать конструктор и деструктор с параметрами? #12
Цитата Сообщение от fidelite62 Посмотреть сообщение
Consider using strcpy_s
Написано черным по-англицки : strcpy_s вместо strcpy
Вроде грамотный чел, про музыку пишешь.

Вообще-то
1) или настрой среду, чтоб можно было с char работать
2) или работай со string
fidelite62
0 / 0 / 0
Регистрация: 14.04.2014
Сообщений: 9
14.04.2014, 20:05  [ТС]     Как сделать конструктор и деструктор с параметрами? #13
Все работает, спасибо вам. та может и грамотный, но как программист пока никуда) тему как надо мне не объяснили раньше) теперь вот путаюсь во всем

Добавлено через 3 минуты
Вон снова вылетает, как только ввожу первое значение
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2014, 20:42     Как сделать конструктор и деструктор с параметрами?
Еще ссылки по теме:

Конструктор и деструктор C++
Как вызвать конструктор с параметрами в конструкторе без параметров? C++

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
14.04.2014, 20:42     Как сделать конструктор и деструктор с параметрами? #14
Цитата Сообщение от fidelite62 Посмотреть сообщение
снова вылетает
Настройте среду
Миниатюры
Как сделать конструктор и деструктор с параметрами?  
Yandex
Объявления
14.04.2014, 20:42     Как сделать конструктор и деструктор с параметрами?
Ответ Создать тему
Опции темы

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