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

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

Войти
Регистрация
Восстановить пароль
 
magasin
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 42
#1

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

18.03.2014, 20:17. Просмотров 259. Ответов 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 массив в конструкторе
Посмотрите здесь:

Инициализация char в конструкторе - C++
class Abit { public: Abit(); ~Abit(); protected: private: bool medal;

Инициализация *char в конструкторе - C++
Хай эврибади! class A { private: int a; int b; char *str; public: A() : a(0), b(0) { str = '\0'; }

инициализация массива char в конструкторе - C++
Вопрос такой. Есть класс simple, в классе есть поле char in. Естественно хочу инициализировать это поле в конструкторе. in={0},...

Как инициализировать массив строк в конструкторе - C++
File.h class CTest { public: char* m_pszText; CTest( )

Как char записать в структуры? - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; using namespace std; //string buff; const int N =...

Как записать Short в два char'a? - C++
Есть переменная типа short необходимо записать ее в чаровский массив... как то там через указатели как я хз((((

Как записать 16ричное число в char - C++
Всем доброго времени суток! Столкнулся с такой проблемой: мне нужно создать строку из 16ричных байтов. Проблема состоит в следующим: как...

Как строки с шестнадцатеричным содержимым записать в биты char? - C++
Доброго времени суток, Уважаемые! Дано задание - сформировать приложение, с помощью которого необходимо записать шестнадцатеричные...

Как удалить массив указателей char* - C++
Столкнулся с проблемой при написании деструктора к классу, а именно не получается корректно удалить массив указателей, при удалении выдает...

Как передать в функцию char массив? - C++
Стараюсь сделать консольную змейку. Вообще не понимаю ничего с этими char. #include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;iostream&quot;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
458 / 431 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
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;
}
Ответ Создать тему
Опции темы

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