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

Как записать char массив в конструкторе - C++

Восстановить пароль Регистрация
 
magasin
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 42
18.03.2014, 20:17     Как записать char массив в конструкторе #1
Подскажите, как записать char масив в кострукторе
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
#include <iostream> 
#include <string.h> 
using namespace std; 
class RIELTER 
 { 
 private: 
 int kol_komnat; 
 int etaj; 
 float ploshad;
 char  adres[64];
 public :
     RIELTER (int k_k=0,int et=0, float pl=0,char ad[64]='\0') :kol_komnat(k_k),etaj(et), ploshad(pl) 
     {
         for(int a=0;a<64;a++){       
     ad[a]='\0' ;
     adres[a]=ad[a];
         }}
 void show_employee(void) // вывод
 { 
 cout << "количество комнат: " << kol_komnat << endl; 
 cout << "этаж: " << etaj << endl; 
 cout << "площадь: " << ploshad <<" квд.ед"<< endl; 
 cout << "адрес: " << adres << endl; 
 cout<<endl;
 }; 
 void show_employee_1(void) // ввод
    {cout<<"Введите количество комнат: ";cin>>kol_komnat;
    cout<<"Введите этаж: ";cin>>etaj;
    cout<<"Введите площадь: ";cin>>ploshad;
    cout<<"Введите адрес: ";cin>>adres;
    cout<<endl;
 };
}; 
 
int main() 
{ setlocale(LC_ALL,""); 
 RIELTER kvartira1, kvartira2; // две длины
 RIELTER  kvartira1(10,2,500,'Pobeda101'); // определение и инициализация
kvartira2.show_employee_1(); // ввод dist1
cout<<"\nКвартира №1:\n";kvartira1.show_employee();
cout<<"\nКвартира №2:\n";kvartira2.show_employee();
cout<<endl; 
system("pause"); 
return 0; 
}
Заранее спасибо
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 20:17     Как записать char массив в конструкторе
Посмотрите здесь:

C++ инициализация массива char в конструкторе
Как перевести массив char[] в char* C++
C++ Как записать Short в два char'a?
C++ Как инициализировать массив строк в конструкторе
Как записать значение типа double в char? C++
Инициализация char в конструкторе C++
C++ Инициализация *char в конструкторе
C++ Как записать и прочитать int (4 byte) из char[]

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
18.03.2014, 20:41     Как записать char массив в конструкторе #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от magasin Посмотреть сообщение
как записать char масив в кострукторе
то есть передать массив char в конструктор и скопировать ее в член класса?
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
class someClass
{
    public:
        someClass(const char * s)           //передаем строку
        {
            int length = 0;
            while (s[length++] != '\0')
                ;
            name = new char[length];        //выделяем память
            for (int i = 0; i < length; i++)
                name[i] = s[i];
        }
 
        ~someClass()                            //не забываем очистить память
        {
            delete [] name;
        }
        
        void print()
        {
            cout << name << endl;
        }
        
    private:
        char * name;
};
 
int main(int argc, char *argv[])
{
    someClass example("hello world!");
    
    example.print();
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Надеюсь помогло.

Добавлено через 9 минут
Вот без new
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
class someClass
{
    public:
        someClass(const char * s)
        {
            int i = 0;
            do
            {
                name[i] = s[i];
            } while (s[i++] != '\0');
        }
        
        void print()
        {
            cout << name << endl;
        }
        
    private:
        char name[100];
};
 
int main(int argc, char *argv[])
{
    someClass example("hello world!");
    
    example.print();
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Yandex
Объявления
18.03.2014, 20:41     Как записать char массив в конструкторе
Ответ Создать тему
Опции темы

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