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

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

Войти
Регистрация
Восстановить пароль
 
Crudelis
Шаровик затейник
674 / 416 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
#1

Вопрос по конструктору - C++

21.05.2010, 19:30. Просмотров 557. Ответов 7
Метки нет (Все метки)

задали задание:
конструктор, позволяющий создавать строку произвольного размера;
конструктор по умолчанию, позволяющий создать строку длиной 80 символов;
подскажите пожалуйста как реализовать такой конструктор, разве можно в конструкторе создавать строку?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2010, 19:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по конструктору (C++):

Поясните по move конструктору - C++
У меня есть такой вот конструктор, который получает на вход мултимап из парсера, в дальнейшем он ненужен. Как правильно прописать мув...

Как инит масс, передава указатель конструктору? - C++
#include <iostream> #include <string> using namespace std; class swapall { private: int *a; double *b; string...

Константная ссылка в качестве аргумента конструктору копирования - C++
доброго времени суток! реализую класс String для работы со строками, программа не компилируется, если я передаю в качестве аргумента...

Передать инициализированный std::vector конструктору базового класса - C++
В общем появилась одна проблема. Никак не пойму как можно сделать. В общем дело такое: 1) Есть класс Coord, который содержит координаты. ...

Выбор типа переменной-члена класса в зависимости от параметров передаваемых конструктору - C++
Здравствуйте форумчане! Ответьте пожалуйста на вопрос - возможно ли такое на С++ и если да, то как это реализовать? Имеется класс, в нём...

Вопрос по массивав, "институтский" вопрос. - C++
Готовлюсь к летней сессии по программированию. С++ Есть такая вот задачка (привожу как есть) В документации подобного не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
21.05.2010, 20:12 #2
Конструктор чего ????
0
Crudelis
Шаровик затейник
674 / 416 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
21.05.2010, 20:13  [ТС] #3
конструктор класса
0
Alip
53 / 32 / 3
Регистрация: 10.03.2010
Сообщений: 85
21.05.2010, 20:27 #4
Crudelis, создать такой конструктор по умолчанию можно. Вот пример:
C++
1
2
3
4
5
stroka::stroka()
{
    char * str;
    str= new str[81];
}
1
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
21.05.2010, 20:28 #5
Цитата Сообщение от Crudelis Посмотреть сообщение
конструктор по умолчанию, позволяющий создать строку длиной 80 символов;
C++
1
2
3
4
5
6
7
8
9
10
11
class A{
public:
  A(){
    chStr = new char[80];
  }
  A( char chSize ){
    chStr = new char[chSize];
  }
private:
  char *chStr;
}
1
Crudelis
Шаровик затейник
674 / 416 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
21.05.2010, 20:43  [ТС] #6
помогите айти ошибку в коде, создаются 3 строки, в две передаются данные правильно, а в 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
58
59
#include<iostream>
using namespace std;
class String
{
    char *str;
    int n;
public:
    String()//a
    {
        int n=80;
        str=new char[n];
    }
    String(int m)//b
    {
        str=new char[m];
    }
    String(char *user,int n)//c
    {
        str=new char[n];
        strcpy(user,str);
    }
    ~String()
    {
        cout<<"Destruct\n";
        delete []str;
    }
    void Show();
    void Inp();
};
void String::Show()
{
    cout<<str<<endl;
}
 
void String::Inp()
{
    cout<<"Введите данные в строку\n";
    gets(str); 
}
void main()
{
    setlocale(LC_CTYPE,"Rus");
    char str[80];
    int n=0;
    String A;
    A.Inp();
    cout<<"Введите размер второй строки: ";
    cin>>n;
    cin.ignore(1);
    String B(n);
    B.Inp();
    cout<<"Введите строку символов: \n";
    gets(str);
    String D(str,n);
    cout<<"\nПолученные строки\n\n";
    A.Show();
    B.Show();
    D.Show();
}
Добавлено через 5 минут
в конструкторе С такое задание: сделать конструктор, который создаёт строку и инициализирует её строкой, полученной от пользователя.
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
21.05.2010, 20:46 #7
C++
1
2
3
4
5
String(char *user,int n)//c
 {
 str=new char[n];
 strcpy(str,user);
 }
Вот так попробуйте.
1
Crudelis
Шаровик затейник
674 / 416 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
21.05.2010, 20:49  [ТС] #8
Kastaneda, спасибо) перепутал что куда передавать)))))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2010, 20:49
Привет! Вот еще темы с ответами:

Вопрос по конструктору и передаче массива - C#
есть класс, в нем массив public UInt32 k = new UInt32; я в другом классе создаю объект первого класса, и хочу присвоить...

Поясните по конструктору - JavaScript
Такой себе пример из Закаса function Person(name){ this.name = name; } var ob = new Person('****'); alert(ob.name); ...

Не учитываются данные, передаваемые конструктору - C++ Builder
Привет всем жителям этого форума. Делаю тут одну лабораторную.И возникла проблема. При расчете выдает не то знач ение. Я сказал бы...

Передача управления от конструктора конструктору - C#
А как можно сделать , чтобы в программе вместо строки : public B() : this (5,3) { } вместо 5 и 3 можно было ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.05.2010, 20:49
Ответ Создать тему
Опции темы

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