Форум программистов, компьютерный форум, киберфорум
hgfvjkgyt
Войти
Регистрация
Восстановить пароль
Оценить эту запись

классы в с++

Запись от hgfvjkgyt размещена 09.03.2016 в 17:51

1. На основе класса, созданного в работе №1, разработать класс, содержащий дополнительно к имеющимся полей и функций:

- Поле, имеет такой же тип, как массив в таблице 1;

- Статическое поле такого же типа;

- Статическое функцию, которая возвращает по ссылке значение статического поля.

2. Изменить созданную в работе №1 функцию выделения памяти для массива так, чтобы в ней, кроме имеющихся действий, происходило увеличение на единицу значение статического поля. Изменить функцию освобождения памяти, так чтобы в ней происходило уменьшение на единицу значение статического поля.

Остальные функции оставить без изменений для выполнения последующих работ.

3. Определить указатель на поля класса (для любого типа полей) и указатель на функции класса, имеют тип значения void и пустой список аргументов.

4. Определить функцию main (), в которой создать объект разработанного класса и указатель на объект. Указателю присвоить адрес объекта.

5. Вызвать статическую функцию класса, без указания объект, для которого она вызывается. Проконтролировать результат выполнения функции.

6. Вызвать для созданного объекта функцию выделения памяти, затем вызвать для этого же объекта статическую функцию. Проконтролировать результат, сделать выводы.

7. Присвоить указателю на поле класса адрес одного из полей, тип которого совпадает с типом указателя на поля. При возникновении ошибки компиляции изменить режим доступа к выбранным полем на открытый и повторить операцию. Сделать выводы.

8. Присвоить указателю на функции класса адрес функции ввода данных в массив. Вызвать эту функцию, используя указатель, для объекта класса.

9. Присвоить указателю на функции класса адрес функции вывода данных из массива. Вызвать эту функцию, используя указатель, для объекта класса.

10. Повторить пп. 8, 9 для указателя на объект.

11. Повторить п. 8 для функции освобождения памяти.

12. Вызвать для объекта статическую функцию. Проконтролировать результат, сделать выводы.

13. Используя статическую функцией ссылки, возвращается, присвоить значение статического полю. Повторить п. 12.
вот код к 1 таблице,я только сделала статический масив и функцию,остальные пункты я не пойму как сдклать, помогите пожалуйста

#include <iostream>
#include <conio.h>
using namespace std;

class Nas
{
private:
short int kol;
short int kol2;
int *mas;
int *mas2;
static int *mas3;
public:
int Kol;
void getKol(int Kol) { mas = new int[Kol]; };
void Tap()
{ for (int i = 0; i < Kol; i++)
{setlocale(LC_ALL, "Russian");
int b; cout << "ââåäèòå " << i << " åëåìåíè ìàññèâà = "; cin >> b; mas[i] = b; cout << endl;}
}
void OutNas() { setlocale(LC_ALL, "Russian"); cout << "Ìàññèâ = "; for (int i = 0; i < Kol; i++) { cout << mas[i] << ","; } }
static int& kol2;
static int meth();
};
Nas::meth();
{ return Nas::&kol2;




int main()
{ setlocale(LC_ALL, "Russian");


}
Nas P1;
cout << "Ââåäèòå êîë-âî åëåìåíòîâ= ";
cin >> P1.Kol;
if (P1.Kol <= 0)

{cout << "Error"; goto end;}
else
{P1.getKol(P1.Kol);
P1.Tap();
P1.OutNas();}
end:
system("pause");
}
Размещено в Без категории
Просмотров 201 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.