IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> C# конструкторы классов
klem4
сообщение 13.04.2008 20:32
Сообщение #1


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


    public class Point
{
private int row;
private int col;
private char value;

public Point(int row, int col, char value)
{
this.row = row;
this.col = col;
this.value = value;
}

public Point(Point p)
{
Point(p.row, p.col, p.value); // можно ли как-то добиться работы такого кода ?
}
}


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 14.04.2008 8:17
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
А зачем определять у класса конструктор копирования?


Мне кажется удобно, а чем такой метод плох ? И чем лучше клонирование в таком случае ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hardcase
сообщение 14.04.2008 9:41
Сообщение #3


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Цитата(klem4 @ 14.04.2008 9:17) *
Мне кажется удобно, а чем такой метод плох ? И чем лучше клонирование в таком случае ?
Если добавить какоето внутреннее поле в класс, то придется вносить дополнительные действия в "конструктор копирования". В этом плане лучше использовать защищенный MemberwiseClone метод - CLR сама скопирует все поля.

Кроме того, с помощью отражения можно написать код, позволяющий относительно безопасно копировать любые объекты (т.е. конструкторы копирования не нужны). Пример.

Сообщение отредактировано: hardcase - 14.04.2008 9:43


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.07.2025 9:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"