Unsigned int Weight;

Void Meow();

};


Объявление класса не резервирует память под данные, здесь только сообщается: о существование класса с таким именем и сколько памяти требуется для каждого объекта этого класса (память выделяется под данные-члены, под методы память не выделяется.

Определение объектов происходит так:

Cat Vaska;

Доступ к членам класса.

Существует оператор прямого доступа (.)

Vaska.Weight =5;

Vaska.Meow();

Рекомендации:

1. используйте ключевое слово classдля объявления класса.

2. используйте оператор прямого доступа к членам класса и его методам.

3. не путайте объявление с определением.

4. не путайте класс с объектом.

5. не присваивайте значения классу.

В объявления класса используются и другие ключевые слова. Двумя важными из них являются public и private. Все данные-члены и методы являются закрытыми по умолчанию, то есть к ним можно получить доступ только методами самого класса. Открытые члены доступны всем функциям программы.

Определение доступности и скрытости для членов класса иммет принципиальное значение.


Class Cat

{

Unsigned int Age;

Unsigned int Weight;

Void Meow();

};

а затем в main()

Cat Vaska;

Vaska.Age=5;


Вызовет ошибку компиляции, так как все члены класса Сat закрыты, а присвоение идёт во внешней к классу функции.

Поэтому необходимо сделать:


Class Cat

{public:

Unsigned int Age;

Unsigned int Weight;

Void Meow();

};


Согласно общей стратегии объектно-ориентированного программирования данные-члены класса должны быть закрытыми. Доступ следует открыть только к методам класса обеспечивающим доступ к закрытым данным.. Этим достигается инкапсуляция данных внутри класса. Эти функции называются методами доступа.

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


#include<iostream.h>

#include <alloc.h>

#include <math.h>

#include <stdlib.h>

Class Mass

{

int *Arrey;

Int n;

public:

Int getSize();

Void putSize(int ss);

Void getArrey(int ras);

Int putArrey();

Void del();

};

void Mass::getArrey(int ras)

{ int i;

Randomize();

Arrey = new int[n];

for(i=0;i<n;i++)

(Arrey+i)=random(2*ras)-ras;

}

int Mass::putArrey()

{ int i;

for(i=0;i<n;i++)

cout<<*(Arrey+i)<<"\t";

cout <<"\n";

Return 0;

}

int Mass::getSize()

{ return n;

}

void Mass::putSize(int ss)

{n=ss;

}

void Mass::del()

{delete[] Arrey;

}

Int main(void)

{

int ss,m,size=100;

Mass Arrey;

cout <<"Введите размерность массива\n по строкам:";

cin >>ss;

Arrey.putSize(ss);

cout << "размерность массива = "<<Arrey.getSize()<<"\n";








Дата добавления: 2015-12-26; просмотров: 584;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.