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

Доброго вам розберитесь пожалуста с классом - C++

Восстановить пароль Регистрация
 
 
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
04.11.2013, 21:11     Доброго вам розберитесь пожалуста с классом #1
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
#include <iostream>
using namespace std;
class masiv
{
private:
 int somedata;
public:
void setdata(int a)
{ somedata=a; }
void showdata()
{
    setlocale(0,"Ukrainian");
    cout<<"zna4ennja рівно  "<<somedata<<endl;}
};
int main() 
{
    
    masiv s1;
    int mas[9]={1,2,3,4,5,5,54,6,67};
    
    s1.setdata(как вывести масив????? который строкой сверху);
    
    s1.showdata();
  
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2013, 21:11     Доброго вам розберитесь пожалуста с классом
Посмотрите здесь:

C++ Помогите пожалуста!!!
C++ Pomogite пожалуста
Доброго времени суток! Есть вопрос. C++
попробуте пожалуста решить C++
C++ Циклы, подскажите пожалуста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yami
 Аватар для Yami
3 / 1 / 0
Регистрация: 02.11.2013
Сообщений: 21
04.11.2013, 21:13     Доброго вам розберитесь пожалуста с классом #2
Вот так можно вывести массив

C++
1
2
for (int i = 0; i < 9; i++)
  cout << mas[i] << " ";
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
04.11.2013, 21:16     Доброго вам розберитесь пожалуста с классом #3
s1.setdata(как вывести масив????? который строкой сверху);
Что это такое ?.
А масив выводится(один из множества способов так)

C++
1
2
3
4
int mas[9]={1,2,3,4,5,5,54,6,67};
for(int i=0; i<9; ++i)
  cout << mas[i] << " ";
  cout << endl;
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
04.11.2013, 21:17     Доброго вам розберитесь пожалуста с классом #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
#include <iostream>
 
using namespace std;
 
class masiv
{
private:
    int somedata;
public:
    void setdata(int a) { 
        somedata=a; 
    }
    void showdata() {
        setlocale(0,"Ukrainian");
        cout<<"zna4ennja рівно "<<somedata<<endl;
    }
};
 
int main() 
{
    masiv s1;
    int mas[9]={1,2,3,4,5,5,54,6,67};
 
    for (int i = 0; i < 9; ++i)
    {
        s1.setdata(mas[i]);
        s1.showdata();
    }
 
    system("pause");
    return 0;
}
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
04.11.2013, 21:49  [ТС]     Доброго вам розберитесь пожалуста с классом #5
Да огромное спасибо, только виводит в столбцах но я думаю розберусь спасибо=)

Добавлено через 14 минут
а почему не выводит второва массива?
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
#include <iostream>
 
using namespace std;
 
class masiv
{
private:
    int somedata;
public:
    void setdata(int a) { 
        somedata=a; 
    }
    void showdata() {
        setlocale(0,"Ukrainian");
        cout<<somedata<<" ";
    }
};
 
int main() 
{
    masiv s1;
    int mas[9]={1,2,3,4,5,5,54,6,67};
 
    for (int i = 0; i < 9; ++i)
    {
        s1.setdata(mas[i]);
        s1.showdata();
    }
     masiv s2;
    int mas[9]={4,6,7,45,36,44,67,99,0};
 
    for (int j = 0; j < 9; ++j)
    {
        s1.setdata(mas[j]);
        s1.showdata();
    }
 
    system("pause");
    return 0;
}
Добавлено через 7 минут
Issues, Да огромное спасибо, только виводит в столбцах но я думаю розберусь спасибо=)

Добавлено через 14 минут
а почему не выводит второва массива?
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
#include <iostream>
 
using namespace std;
 
class masiv
{
private:
    int somedata;
public:
    void setdata(int a) { 
        somedata=a; 
    }
    void showdata() {
        setlocale(0,"Ukrainian");
        cout<<somedata<<" ";
    }
};
 
int main() 
{
    masiv s1;
    int mas[9]={1,2,3,4,5,5,54,6,67};
 
    for (int i = 0; i < 9; ++i)
    {
        s1.setdata(mas[i]);
        s1.showdata();
    }
     masiv s2;
    int mas[9]={4,6,7,45,36,44,67,99,0};
 
    for (int j = 0; j < 9; ++j)
    {
        s1.setdata(mas[j]);
        s1.showdata();
    }
 
    system("pause");
    return 0;
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
04.11.2013, 21:51     Доброго вам розберитесь пожалуста с классом #6
а почему не выводит второва массива?
Неужели ошибки не дает ???
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
masiv s1;
    int mas[9]={1,2,3,4,5,5,54,6,67};/// первое создание
 
    for (int i = 0; i < 9; ++i)
    {
        s1.setdata(mas[i]);
        s1.showdata();
    }
     masiv s2;
    int mas[9]={4,6,7,45,36,44,67,99,0};/// второе создание массива. Одинаковое имя измените например на mas1
 
    for (int j = 0; j < 9; ++j)
    {
        s1.setdata(mas[j]);// и тут укажите изменненое имя второго массива
        s1.showdata();
    }
 
    system("pause");
    return 0;
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
04.11.2013, 22:11  [ТС]     Доброго вам розберитесь пожалуста с классом #7
egor2116, Спасибо.. 3 курса тупил ветер выводил, пора за ум=)

Добавлено через 10 минут
egor2116, а почему так не катит?
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
#include <iostream>
 
using namespace std;
 
class masiv
{
private:
    int somedata;
    int somedata1;
public:
    void setdata(int a, int b) { 
        somedata=a; 
        somedata1=b;
    }
    void showdata() {
        setlocale(0,"Ukrainian");
        cout<<somedata<<" ";
        cout<<endl;
        cout<<somedata1<<" ";
    }
};
 
int main() 
{
    masiv s1;
    int mas[9]={1,2,3,4,5,5,54,6,67};
 
    for (int i = 0; i < 9; ++i)
    {
        s1.setdata(mas[i]);
        s1.showdata();
    }
     masiv s2;
    int masa[9]={4,6,7,45,36,44,67,99,0};
 
    for (int j = 0; j < 9; ++j)
    {
        s1.setdata1(masa[j]);
        s1.showdata();
    }
 
    system("pause");
    return 0;
}
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
04.11.2013, 22:23     Доброго вам розберитесь пожалуста с классом #8
а почему так не катит?
Потому что
1. Вы обьявили метод класса который принимает 2 параметра
C++
1
 void setdata(int a, int b)
а сами передаете 1
вот тут
C++
1
 s1.setdata(mas[i]);
// нехватает параметра

Видимо вы хоте так
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>
 
using namespace std;
 
class masiv
{
private:
    int somedata;
    int somedata1;
public:
    void setdata(int a, int b) { 
        somedata=a; 
        somedata1=b;
    }
    void showdata() {
        setlocale(0,"Ukrainian");
        cout<<somedata<<" ";
        cout<<endl;
        cout<<somedata1<<" ";
    }
};
 
int main() 
{
    masiv s1;
    int mas[9]={1,2,3,4,5,5,54,6,67};
    int masa[9]={4,6,7,45,36,44,67,99,0};
 
    for (int i = 0; i < 9; ++i)
    {
        s1.setdata(mas[i],masa[i]);
        s1.showdata();
    }
 
    system("pause");
    return 0;
}
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
04.11.2013, 22:30  [ТС]     Доброго вам розберитесь пожалуста с классом #9
egor2116, да но тут по столбцам выводит, а мне нужно в рядок я только не могу папечатать рпопусить строку
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
60
61
62
63
64
#include <iostream>
 
using namespace std;
 
class masiv
{
private:
    int somedata;
    int somedata1;
    int probil;
public:
    void setdata(int a) { 
        somedata=a; 
        
    }
      void setdata1(int b) { 
        somedata1=b; 
        
    }
    void showdata() {
        setlocale(0,"Ukrainian");
        cout<<somedata<<" ";
    
    }
    void showdata2()
    {cout<<probil<<" "<<endl;
    }
    
        void showdata1() {
        setlocale(0,"Ukrainian");
        
        cout<<somedata1<<" ";
    }
 
};
 
int main() 
{
    masiv p;
    {
        //p.probil();
        p.showdata2();
    
    }
    masiv s1;
    int mas[9]={1,2,3,4,5,5,54,6,67};
 
    for (int i = 0; i < 9; ++i)
    {
        s1.setdata(mas[i]);
        s1.showdata();
    }
     masiv s2;
    int masa[9]={4,6,7,45,36,44,67,99,0};
 
    for (int j = 0; j < 9; ++j)
    {
        s1.setdata1(masa[j]);
        s1.showdata1();
    }
 
    system("pause");
    return 0;
}
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
04.11.2013, 22:36     Доброго вам розберитесь пожалуста с классом #10
да но тут по столбцам выводит,
В каком ввиде нужно получить результат ?? Приведите пример.
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
04.11.2013, 22:54  [ТС]     Доброго вам розберитесь пожалуста с классом #11
egor2116, примерно так
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main()
{cout<<"1 2 3 5 6 7 8"<<endl;
cout<<endl;
cout<<"4 5 6 34 6 7 2 4 65";
system("pause");
return 0;
}
Добавлено через 3 минуты
egor2116, мне просто нужно решить задание:
Составить описание класса одномерных массивов строк , каждая строка задается длиной и указателем на выделенную для нее память. Предусмотреть возможность обращения к отдельным строкам массива по индексам , контроль выхода за границы массивов , выполнения операций поэлементного сцепления двух массивов с образованием нового массива , слияния двух массивов с исключением повторяющихся элементов , вывод на экран элемента массива и всего массива.
Написать программу , демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса .
Примерно так гугль перевел
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
04.11.2013, 23:00     Доброго вам розберитесь пожалуста с классом #12
мне просто нужно решить задание:
Оо так вы можно сказать даже не начинали, если подождете 10 мин ченить наваяю.
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
04.11.2013, 23:02  [ТС]     Доброго вам розберитесь пожалуста с классом #13
egor2116, хорошо, спасибо)
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
04.11.2013, 23:04     Доброго вам розберитесь пожалуста с классом #14
один класс - один массив, или в одном классе несколько массивов? что значит "класс одномернЫХ массивОВ?
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
04.11.2013, 23:07  [ТС]     Доброго вам розберитесь пожалуста с классом #15
novi4ok, я могу укр задания кинуть. Но уже Егор разбивает, просто я бы дуплил долго по этапах, а так в коде прошарить это лутше=)
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
04.11.2013, 23:41     Доброго вам розберитесь пожалуста с классом #16
Цитата Сообщение от Дімич Посмотреть сообщение
novi4ok, я могу укр задания кинуть. Но уже Егор разбивает, просто я бы дуплил долго по этапах, а так в коде прошарить это лутше=)
кинь в личку, или на английский переведи, здесь это - друга державна мова. недеюсь, в личке украинский не будет вызывать непонимания.

Добавлено через 29 минут
предлагаю такой интерфейс. подойдет?
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
#include <string>
#include <vector>
 
class StringArray {
 class MyString {
 public:
  MyString(const char *pBuf);
  ~MyString();
 private:
  char *m_pBuffer;
  int m_Size;
 };
public:
 void add (const char *pBuf);
 vool getStr (std::string *pStr, int idx);
 StringArray concatenate (const StringArray *pStrArr);
 void display (int idx);
 void display ();
 
 StringArray (void);
 ~StringArray();
private:
 std::vector<MyString> m_Strings;
};
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
05.11.2013, 00:02     Доброго вам розберитесь пожалуста с классом #17
Как то так не проверял
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
#include <cstring>
 
using namespace std;
 
class myString
{
private:
    char * str;
    size_t SIZE;
public:
    myString(char *_str,size_t _SIZE) : SIZE(_SIZE)
   {
    str = new char[_SIZE];
    strcpy(str,_str);
   }
   myString(const myString & mstr)
   {
    str = new char[mstr.getSize()];
    strcpy(str,mstr.c_str());
   }
 
   ~myString() { delete str; str=NULL; }
 
   bool check(size_t idx)const { return idx>SIZE; }
   size_t getSize()const { return SIZE; }
   char * c_str()const { return str; }
 
   void print_for(size_t idx) 
   {
    if(check(idx)) cerr << "Index of out range" << endl; return;
            cout << str[idx];
   }
 
   void print()
   {
      for(int i=0; i<SIZE; ++i)
            cout << str[i];
   }
 
   char & operator[](size_t idx) const
   {
    if(check(idx)) cerr << "Index of out range" << endl; return '\0';
    return str[idx]; 
   }
   
   myString & operator+(const myString & _str)
   {
    char * res = new char[SIZE+strlen(_str.c_str())];
        for(int i=0; i<SIZE; ++i)
        res[i]=str[i];
        int j=0;
        for(int i=SIZE; i<SIZE+strlen(_str.c_str());++i)
    {
                res[i]=_str[j]; ++j;
    }
        myString out(res,SIZE+strlen(_str.c_str()));
    return out;
   }
   
   
 
};
 
 
int main() 
{
   char * tmp = "Hello world";
   char * tmp1 = "my world";
 
   myString string(tmp,strlen(tmp));
   myString string2(tmp1,strlen(tmp1));
   string.print(); cout << endl;
   string.print_for(5);
   cout << string[2] << endl;
 
    return 0;
}
Дімич
 Аватар для Дімич
5 / 5 / 0
Регистрация: 08.04.2013
Сообщений: 98
05.11.2013, 00:12  [ТС]     Доброго вам розберитесь пожалуста с классом #18
egor2116, 1>------ Построение начато: проект: ООП 1 лаба, Конфигурация: Debug Win32 ------
1>Построение начато 04.11.2013 22:07:33.
1>PrepareForBuild:
1> Создание каталога "D:\Visual Studio\ООП 1 лаба\Debug\".
1>InitializeBuildStatus:
1> Создание "Debug\ООП 1 лаба.unsuccessfulbuild", так как было задано "AlwaysCreate".
1>ClCompile:
1> 1.cpp
1>d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(15): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\string.h(105): см. объявление "strcpy"
1>d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(20): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\string.h(105): см. объявление "strcpy"
1>d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(37): warning C4018: <: несоответствие типов со знаком и без знака
1>d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(43): error C2440: return: невозможно преобразовать "char" в "char &"
1>d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(50): warning C4018: <: несоответствие типов со знаком и без знака
1>d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(53): warning C4018: <: несоответствие типов со знаком и без знака
1>d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(58): warning C4172: возвращение адреса локальной или временной переменной
1>d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(78): fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка "{" в "d:\visual studio\ооп 1 лаба\ооп 1 лаба\1.cpp(67)"
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:01.85

C++
1
2
if(check(idx)) cerr << "Index of out range" << endl; return '\0';
    return str[idx];
C++
1
return '\0';
отетовот ошибку вибывает точнее подчеркивает)))))) но я не шарю в коде
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
05.11.2013, 01:12     Доброго вам розберитесь пожалуста с классом #19
вот такое получилось. подправишь там, если что. в общем, смотри сам, как с этим поступать. много кода. народ как-то с плюсиком делает, не умею.

файл rjadky.cpp:
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
#include <iostream>
#include "StringArray.h"
 
using namespace std;
 
int main(int argc, char* argv[])
{
    StringArray str_arr;
    str_arr.add ("stroka 0");
    str_arr.add ("stroka 1");
    str_arr.add ("stroka 2");
    str_arr.add ("stroka 3");
    str_arr.add ("stroka 4");
    
    StringArray str_arr2;
    str_arr2.add ("stroka 10");
    str_arr2.add ("stroka 1");
    str_arr2.add ("stroka 12");
    str_arr2.add ("stroka 13");
 
    cout << "str_arr, element index 2:" << endl;
    string str;
    if (str_arr.getStr (&str, 2)){
        cout << str.c_str() << endl;
    } else {
        cout << "index out of range" << endl;
    }
    str_arr.display(3);
    str_arr.display();
    str_arr2.display();
    StringArray *pStr_plus_2 = str_arr.concatenate (&str_arr2);
    pStr_plus_2->display();
    delete pStr_plus_2;
    pStr_plus_2 = NULL;
    cout << "press any key..." << endl;
    cin.ignore();
    cin.get();
 
    return 0;
}
StringArray.h:
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
#pragma once
#include <string>
#include <vector>
 
class StringArray {
    class MyString {
    public:
        MyString(const char *pBuf);
        ~MyString();
        void display()const;
        void getStr (std::string *pStr) const;
        bool equal (const MyString *pStr) const;
        MyString *clone()const;
    private:
        char *m_pBuffer;
        int m_Size;
    };
public:
    
    void add (const char *pBuf);
    bool getStr (std::string *pStr, int idx) const;
    StringArray* concatenate (const StringArray *pStrArr) const;
    void display (int idx) const;
    void display () const;
 
    StringArray(void);
    ~StringArray(void);
 
private:
    std::vector<MyString*> m_Strings;
    bool contains (const MyString *pMyStr)const;
    void add (MyString *pMS);
};
StringArray.cpp:
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <iostream>
 
#include "StringArray.h"
 
void StringArray::MyString::getStr (std::string *pStr) const{
    pStr->clear();
    if (m_Size > 0){
        *pStr = m_pBuffer;
    }
}
bool StringArray::MyString::equal (const MyString *pStr) const{
    return pStr != NULL && pStr->m_Size > 0 && pStr->m_Size == m_Size && ::strcmp (pStr->m_pBuffer, this->m_pBuffer) == 0;
}
StringArray::MyString* StringArray::MyString::clone()const{
    return new MyString(this->m_pBuffer);
}
void StringArray::MyString::display()const{
    if (m_Size == 0){
        std::cout << "string empty" << std::endl;
    } else {
        std::cout << this->m_pBuffer << std::endl;
    }
}
StringArray::MyString::MyString(const char *pBuf){
    m_Size = ::strlen (pBuf) + 1;
    m_pBuffer = (char*)::malloc (m_Size);
    ::strcpy (m_pBuffer, pBuf);
}
StringArray::MyString::~MyString(){
    free (m_pBuffer);
    m_pBuffer = NULL;
    m_Size = 0;
}
    
void StringArray::add (const char *pBuf){
    MyString *pMS = new MyString(pBuf);
    this->m_Strings.push_back (pMS);
}
void StringArray::add (MyString *pMS){
    this->m_Strings.push_back (pMS);
}
bool StringArray::getStr (std::string *pStr, int idx)const{
    bool exists = idx >= 0 && idx < m_Strings.size();
    if (exists){
        (*(m_Strings.begin() + idx))->getStr(pStr);
    } else {
        pStr->clear();
    }
    return exists;
}
bool StringArray::contains (const MyString *pMyStr)const{
    bool cont = false;
    std::vector<MyString*>::const_iterator cit;
    for (cit = m_Strings.begin(); cit != m_Strings.end(); cit++){
        if ((*cit)->equal (pMyStr)){
            cont = true;
            break;
        }
    }
    return cont;
}
StringArray* StringArray::concatenate (const StringArray *pStrArr)const{
    StringArray *pNewStrArr = NULL;
    std::vector<MyString*>::const_iterator cit;
    if (pStrArr != NULL){
        pNewStrArr = new StringArray();
        // add all "my" not included in the other
        for (cit = m_Strings.begin(); cit != m_Strings.end(); cit++){
            if (!pStrArr->contains(*cit)){
                pNewStrArr->add ((*cit)->clone());
            }
        }
        // add now all from argument
        for (cit = pStrArr->m_Strings.begin(); cit != pStrArr->m_Strings.end(); cit++){
            pNewStrArr->add ((*cit)->clone());
        }
    }
    return pNewStrArr;
}
void StringArray::display (int idx)const{
    bool exists = idx >= 0 && idx < m_Strings.size();
    if (exists){
        (*(this->m_Strings.begin()+idx))->display();
    } else {
        std::cout << "index out of range" << std::endl;
    }
}
void StringArray::display ()const{
    std::vector<MyString*>::const_iterator cit;
    for (cit = m_Strings.begin(); cit != m_Strings.end(); cit++){
        (*cit)->display();
    }
}
 
StringArray::StringArray(void)
{
}
 
StringArray::~StringArray(void){
    std::vector<MyString*>::iterator it;
    for (it = m_Strings.begin(); it != m_Strings.end(); it++){
        delete *it;
    }
    m_Strings.clear();
}
пока, пора спать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 10:26     Доброго вам розберитесь пожалуста с классом
Еще ссылки по теме:

C++ Доброго время суток. Как выбрать правильный путь?
Доброго времени суток) Нужно написать программу по шифрованию C++
Составить программу которая при введеном количестве лет выдает сообщени вам n лет,вам n год или года C++

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

Или воспользуйтесь поиском по форуму:
SatanaXIII
05.11.2013, 10:26     Доброго вам розберитесь пожалуста с классом
  #20
 Комментарий модератора 
Господа, официальным языком форума является русский (1.4). И если обсуждаете что-либо на форуме, то делайте это на форуме. (4.6)
Yandex
Объявления
05.11.2013, 10:26     Доброго вам розберитесь пожалуста с классом
Ответ Создать тему
Опции темы

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