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

Доступ к элементу массива через указатель - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверки ввода http://www.cyberforum.ru/cpp-beginners/thread653212.html
Подскажите пожалуйста: 1. Как сделать проверку "введено число или не-число" ? 2. Если при вводе используется переменная char, как сделать проверку на количество введенных символов, чтоб если...
C++ Как в Dev C++ передать параметры командной строки Мне необходимо данные брать из файла. Путь к файлу нужно передавать как параметр командной строки argv. Подскажите пожалуйста как это делать в Dev C++ http://www.cyberforum.ru/cpp-beginners/thread653197.html
C++ обработка изображений ( вывод картинки на экран)
День добрый всем. Возник вопрос) Опишу ситуацию, пишу для инста небольшую программу для превращения из цветного изображения постепенно в монохромное. Для начала нужно просто из цвета в чб. Есть...
sizeof() с массивами C++
Почему такие результаты? Размеры у обоих массивов одинаковые а sizeof() показывает у одного 28, а другого 32 int a = {1, 2, 3, 4, 5, 6, 7}; int b = {1, 2, 3, 4, 5, 6, 7}; cout <<...
C++ Разница между приведением типов http://www.cyberforum.ru/cpp-beginners/thread653172.html
Всем пт! Поясните плз разницу между приведениями типов: double (a); (double) a; static_cast <double> (a);
C++ ошибка с передачей через указатели Подскажите в чем ошибка // dynmas_var15_1semestr.cpp: главный файл проекта. #include "stdafx.h" #include <iostream> #include <iomanip> #include <stdlib.h> #include <clocale> #include <time.h> подробнее

Показать сообщение отдельно
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280

Доступ к элементу массива через указатель - C++

17.09.2012, 12:50. Просмотров 2454. Ответов 4
Метки (Все метки)

надо осушествить следуюшие: pointerArr[0]=21;
когда:
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <QtCore/QCoreApplication>
#include "Array.h"
#include "ProtectedArray.h"
#include <string>
using namespace MaxonArrayNamespace;
int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    int temp[]={10,21,15,4};
    Array<int> intArr(temp,4);
    Array<int> *pointerArr=new Array<int>(temp,4);
    intArr.show();
    pointerArr->show();
    intArr[0]=21;
    pointerArr[0]=21;
    intArr.show();
    pointerArr->show();
    return app.exec();
}
array.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
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
#ifndef ARRAY_H
#define ARRAY_H
#include <iostream>
using namespace std;
namespace MaxonArrayNamespace{
template<class type>
class Array
{
public:
    Array(int sz=0)
    {
        init(0,sz);
    }
    Array(type *a,int sz)
    {
        init(a,sz);
    }
 
    Array(Array *a)
    {
        init(a,a->Size());
    }
    type Size()
    {
        return size;
    }
    ~Array()
    {
        delete[] arr;
    }
    void show()
    {
        cout<<"This-"<<(this)<<"  cout="<<size<<" size="<<sizeof(type)*size<<"bytes"<<endl;
        for(int i=0;i<size;i++)
        {
            cout<<arr[i]<<" ";
        }
        cout<<endl;
    }
    type& operator[](int i)
    {
        return arr[i];
    }
    bool operator ==(Array *a);
    bool operator !=(Array *a);
 
    Array* operator =(Array *a)
    {
        return a;
    }
    type find(type val);
 
protected:
    void init(type *a,int sz)
    {
        size=sz;
        arr=new type[size];
        for(int i=0;i<size;i++)
        {
            if(!a)
            {
                arr[i]=type();
            }
            else
            {
                arr[i]=a[i];
            }
        }
    }
 
    int size;
    type *arr;
};
}
#endif // ARRAY_H
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru