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

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

Восстановить пароль Регистрация
 
Elfenlide
23 / 23 / 1
Регистрация: 15.04.2012
Сообщений: 183
01.10.2012, 18:00     Конструктор преобразования #1
Пишу программу, нужно сделать так чтобы вводилась строка типа string а потом обработка происходила с каждым символом типа char, программа с классами и объектами.
Я так прикинул что это можно сделать если придумать конструктор преобразования, который будет получать тип string и преобразовывать в массив элементов.
Но, как его реализовать мысль не приходит...что-то пробовал но не вышло.
Покажите пожалуйста пример такого конструктора. Или может подскажите более рациональный метод выполнения моей задачи.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 18:00     Конструктор преобразования
Посмотрите здесь:

Конструктор преобразования. C++
this(Всегда ли вызывается конструктор при не явной передачи объекта в конструктор) C++
C++ Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования
C++ Не могу правильно сделать конструктор и конструктор копирования и принадлежность точки с заданными координатами треугольнику
C++ Конструктор производного класса требует конструктор предка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
01.10.2012, 18:23     Конструктор преобразования #2
В чём проблема переводишь из string в char например так
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <iostream>
 
int main()
{ 
    std::string str = "Real Madrid"; 
    char* buffer = new char[str.length() + 1]; 
    strcpy(buffer, str.c_str()); 
 
    std::cout << str << std::endl;
 
}
и дальше делаешь, что хочешь.
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
01.10.2012, 19:03     Конструктор преобразования #3
зачем переводить?

string str = "qwerty";
cout << str[3];
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
01.10.2012, 20:27     Конструктор преобразования #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
33
34
35
36
37
#include <iostream>
#include <string>
 
class Pointer
{
public:
    explicit Pointer(std::string const& s)
    {
        size_t sSize = s.size(), i;
        p = new char[sSize + 1];
        for(i = 0; i < sSize; ++i)
        {
            p[i] = s[i];
        }
        p[i] = '\0';
    }
    ~Pointer()
    {
        delete[] p;
        p = 0;
    }
    char const* getPointer() const
    {
        return p;
    }
private:
    Pointer(Pointer const&);
    Pointer& operator=(Pointer);
    char* p;
};
 
int main()
{
    Pointer p("tt  t");
    std::cout << p.getPointer();
    return 0;
}
Yandex
Объявления
01.10.2012, 20:27     Конструктор преобразования
Ответ Создать тему
Опции темы

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