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

Переменный член - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решить несколько задач http://www.cyberforum.ru/cpp-beginners/thread364507.html
Добавлено через 1 минуту час остался. люди помогите. судьба решается
C++ Вычисление логарифма по основанию Здравствуйте, как в языке си вычисляется логарифм по основанию? http://www.cyberforum.ru/cpp-beginners/thread364495.html
вопросы связанные с темой "читай мат.часть" C++
Здравствуйте, имется код #define fname argv /* Archive file name */ #define sname argv /* Specimen's name */ int main(int argc, char **argv) { //int ...
Парсинг XML C++
Как его на плюсах лучше сделать?
C++ Какое время будут показывать часы через р часов q минут r секунд? http://www.cyberforum.ru/cpp-beginners/thread364430.html
Текущее показание электронных часов: h часов (0 ≤ h ≤ 23) m минут (0 ≤ m ≤ 59) s секунд (0≤ k ≤ 59). Какое время будут показывать часы через р часов q минут r секунд? Дано действительное число R...
C++ матрицон=D драсьте всем) помогите написать фрагмент кода самый простой на пальцах чтоб разобраться можно было) собсно вот моя формулировка задания: берутся допустим значения в массиве G= u=const, v=const ,... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
11.10.2011, 12:59
Ниже реализация класса CDynamic, осуществляющего переинициализацию своего privat-указателя
(реализовывал в меру того как понял задание)
CDynamic.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
#include <iostream>
using namespace std;
 
class CDynamic
{
private:
    void * lpPtr;
public:
    CDynamic(){lpPtr = NULL;}//Конструктор по умолчанию
    ~CDynamic()//Деструктор
    {
        if(lpPtr)
            delete [] lpPtr;
    }
    //Переставляет lpPtr на блок памяти lpMem
    //При этом если lpPtr указывал на какой то блок памяти
    //данный блок уничтожается delete [] lpPtr
    void SetMemPtr(void * lpMem = NULL)
    {
        if(lpPtr)
            delete [] lpPtr;
        lpPtr = lpMem;
    }
    void * GetPtr(){return lpPtr;}//Возвращает адрес lpPtr
};
main.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
#include "CDynamic.h"
 
int main()
{
    long i,N;
    CDynamic ptr;
    std::cout<<"Enter Elements in INT ARRAY\n";
    std::cout<<"N = ";std::cin>>N;
 
    int * arrINT = new int[N];
    for(i = 0; i < N; i++)
        std::cout<<"arrINT["<<i<<"] = "<<(arrINT[i] = i)<<"\n";
    ptr.SetMemPtr((void *)arrINT);
    std::cout<<"POINTER TO arrINT : "<<arrINT<<"\n";
    std::cout<<"POINTER TO ptr    : "<<ptr.GetPtr()<<"\n";
 
    std::cout<<"Enter Elements in DOUBLE ARRAY\n";
    std::cout<<"N = ";std::cin>>N;
    double * arrDOUBLE = new double[N];
    for(i = 0; i < N; i++)
        std::cout<<"arrDOUBLE[i] = "<<(arrDOUBLE[i] = i)<<"\n";
 
    ptr.SetMemPtr((void *)arrDOUBLE);
    std::cout<<"arrINT[0] : "<<arrINT[0]<<"\n";
    std::cout<<"POINTER TO arrINT    : "<<arrINT<<"\n";
    std::cout<<"POINTER TO arrDOUBLE : "<<arrDOUBLE<<"\n";
    std::cout<<"POINTER TO ptr       : "<<ptr.GetPtr()<<"\n";
    system("pause");
    return 0;
}

Лог Release
--------------------Configuration: Dynamic - Win32 Release--------------------
Compiling...
main.cpp
Linking...

Dynamic.exe - 0 error(s), 0 warning(s)
0
Миниатюры
Переменный член  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru