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

Поля , методы и свойства. - C++

Восстановить пароль Регистрация
 
Ierehon
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 130
12.12.2011, 12:08     Поля , методы и свойства. #1
Всем доброго времени.

Возник вопрос. К примеру есть :
C++
1
private int value;
Что будет в данном примере являться полем а что свойством. Теоретически описано все красиво. Что Get и Set это свойства. Но что и чем будет именно здесь являться не понимаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2011, 12:08     Поля , методы и свойства.
Посмотрите здесь:

C++ константные поля и методы
C++ Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы
C++ Как из дроп-даун лист найти методы и свойства контрола?
C++ Написать программу на языке С + + реализующая класс содержащий поля данных и методы ввода и вывода данных
C++ Статические поля и методы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
12.12.2011, 12:12     Поля , методы и свойства. #2
приведите код на с++
Ierehon
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 130
12.12.2011, 12:43  [ТС]     Поля , методы и свойства. #3
пример кода. Используются полиморфизм, инкапсуляция и наследование.

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
//инкапсуояция
class positiveinteger;
{
//Закрытое поле. Доступ к нему возможен только из методов класса ''positiveinteger''.
private int value;
 
//Открытое поле. Доступ к нему возможен из любого места программы. Рекомендуется так не делать.
public int value;
{
get {return value;}
set 
{
if (value <=0) throw new argumentexeption("message");
value=value;
}
}
}
//полиморфизм и наследование
class base
{
public virtual void Foo()
{
console.write line("message");
}
public void bar()
{
console.writeline("message");
}
}
//наследование
class drived: base;
{
public override void Foo()
{
console.write line("message");
}
new public void bar ()
{
console.write line("message");
}
}
class test
{
static void main(string[] args)
{
base a = new base;
a.Foo();
a.Bar();
 
derived b = new derived;
b.Foo();
b.bar();
 
base c = b;
c.Foo();
c.bar();
}
}
mansp
18 / 18 / 0
Регистрация: 07.11.2010
Сообщений: 136
12.12.2011, 12:45     Поля , методы и свойства. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct test 
{
private:
int a;
int get(){
return a;
}
int set()
{
cin>>a
}
}
в данном случаи "а" это поле структуры, а функции будут тогда свойствами

в твоем случаии полями являютса переменные
C++
1
2
private int value;
public int value;
Ierehon
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 130
12.12.2011, 13:03  [ТС]     Поля , методы и свойства. #5
mansp, т.е. в в данном случае

Цитата Сообщение от mansp Посмотреть сообщение
в твоем случаии полями являютса переменные
Код C++
C++
1
2
private int value;
public int value;
получается что поле это все полностью выражение. А свойства в нем нет? или я неправильно понимаю?
или значения (value) будут являться полями а private и public свойствами. ?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.12.2011, 13:08     Поля , методы и свойства. #6
Ierehon, Вы скинули код на шарпе полагаю...
В С++ нет свойств как таковых. Геттеры/сеттеры - это функции.
Ierehon
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 130
12.12.2011, 13:22  [ТС]     Поля , методы и свойства. #7
да код примера написан на шарпе. Я с данным вопросом столкнулся недавно хотелось бы все таки понять что к чему.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.12.2011, 13:25     Поля , методы и свойства. #8
Ierehon, Что понимать-то? Есть приватные данные - доступные только в классе. Есть паблик данные - доступные по всей программе. Есть протектед данные - доступные в данном классе и производных. Не учитывая протектед почти всегда лучше использовать private и писать две функции (геттер, сеттер как в C# get {}; set {}.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2011, 14:36     Поля , методы и свойства.
Еще ссылки по теме:

C++ Создать класс Triad (тройка чисел) - определить методы; определить производный класс Date - переопределить методы
C++ Классы С++ (как описать методы и свойства к массиву)
C++ Поля, переменные; Методы, функции; В чем отличие?

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

Или воспользуйтесь поиском по форуму:
Ierehon
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 130
12.12.2011, 14:36  [ТС]     Поля , методы и свойства. #9
Уважаемый ForEveR, я все прекрасно понимаю, но мне преподавателем был поставлен именно такой вопрос как я описал в самом начале. Вот и спрашивается что ему ответить в данном случае.Что его вопрос это набор бреда не подлежащего осмыслению..вариант конечно.
Yandex
Объявления
12.12.2011, 14:36     Поля , методы и свойства.
Ответ Создать тему
Опции темы

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