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

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

Войти
Регистрация
Восстановить пароль
 
Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
#1

проинициализировать строку в конструкторе - C++

04.02.2013, 23:16. Просмотров 511. Ответов 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
#include "stdafx.h"
#include <iostream>
using namespace std;
/*создать класс описывающий кинофильм. В классе должны быть поля: название, год выпуска, страна, главная мужская-женская роль.
создать деструктор для удаления*/
class kinofilm
{
    int year;
    char title[20];
 
public:
    kinofilm()
    {
        year = 0;
 
    }
    void initial(int d)
    {
        year = d;
    }
 
    void show()
    {
        cout<<"Year: "<<year<<endl;
    }
 
    ~kinofilm()
    {
        year = 0;
    }
};
 
void main()
{
    kinofilm obg;
    obg.initial(4);
    obg.show();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2013, 23:16     проинициализировать строку в конструкторе
Посмотрите здесь:

Объявить и проинициализировать массив из трех элементов типа Person C++
Как правильно проинициализировать массив вручную? C++
Проинициализировать массив случайными символами от A до Z. C++
Проинициализировать массив случайными символами от A до Z C++
C++ Нужно объект типа класс проинициализировать с помощью перегруженного конструктора Class::Class( bool a )
C++ Проинициализировать класс массивов который имеет конструктор по умолчанию
C++ Как повторно проинициализировать переменную конструктором?
C++ Как проинициализировать весь массив объектов?
Как проинициализировать структурную переменную в конструкторе класса? C++
C++ Как проинициализировать static поле класса?
C++ Как правильнее проинициализировать char's, чтобы не было мусора?
Опишите массив из 6-и строк, проинициализировать названиями стран C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
04.02.2013, 23:27     проинициализировать строку в конструкторе #2
Прочитав задание, решил что это подойдет лучше:
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
#include <iostream>
using namespace std;
/*создать класс описывающий кинофильм. В классе должны быть поля: название, год выпуска, страна, главная мужская-женская роль.
создать деструктор для удаления*/
class kinofilm
{
    int year;
    char* name;
    char* country;
    char* rol;
 
public:
    kinofilm(char * s,char* c,char* r,int y)
    {
        name = new char[strlen(s)+1];
        strcpy(name,s);
        
        country = new char[strlen(c)+1];
        strcpy(country,c);
        
        rol = new char[strlen(r)+1];
        strcpy(rol,r);
        
        year = y;
    }
    
    void show()
    {
        cout<<"Name: "<<name<<endl;
        cout<<"Year: "<<year<<endl;
        cout<<"Country: "<<country<<endl;
        cout<<"Rol: "<<rol<<endl;
    }
 
    ~kinofilm()
    {
        delete [] name;
        delete [] country;
        delete [] rol;
    }
};
 
int main()
{
    kinofilm obg("Terminator 5","USA","Ivan",2004);
    obg.show();
    system("pause>0");
    return 0;
}
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
05.02.2013, 01:17     проинициализировать строку в конструкторе #3
И заодно разберётесь со string строками

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
#include <iostream>
#include <string>             //если хотите использовать string строки, то нужно включить этот файл.
using namespace std;       //и подключить пространство имён std, что не обязательно. но если вы его не подключите то нужно будет писать std::string
/*создать класс описывающий кинофильм. В классе должны быть поля: название, год выпуска, страна, главная мужская-женская роль.
создать деструктор для удаления*/
class kinofilm
{
    int year;
    string name;
    string country;
    string rol;
 
public:
    kinofilm(string s,string c,string r,int y)
    {
        name = s;
        country = c;
        rol = r;
        year = y;
    }
    
    void show()
    {
        cout<<"Name: "<<name<<endl;
        cout<<"Year: "<<year<<endl;
        cout<<"Country: "<<country<<endl;
        cout<<"Rol: "<<rol<<endl;
    }
 
    ~kinofilm()
    {
        //но если мы используем string,
        //то в деструкторе ничего не нужно делать!
    }
};
 
int main()
{
    kinofilm obg("Terminator 5","USA","Ivan",2004);
    obg.show();
    system("pause>0");
    return 0;
}
Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
05.02.2013, 16:37  [ТС]     проинициализировать строку в конструкторе #4
спасибо
Yandex
Объявления
05.02.2013, 16:37     проинициализировать строку в конструкторе
Ответ Создать тему
Опции темы

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