Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конструкторы классов 
:(
    Опции темы
MasterOfCode
Дата 28.8.2008, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Я создал класс и его наследника, хочу чтоб у наследника был свой конструктор, но базовый класс не дает это сделать:
Код

class class_A
{
    protected string Str;
    public class_A (string str)
    {
        Str = str;
    }
}

class class_B : class_A
{
    public Str2;
    public class_B(string str1, str2) //Error
    {
        Str = str;
        Str2 = str;
    }
}


class_A does not contain a constructor that takes '0' arguments


--------------------
user posted image
PM ICQ   Вверх
HalkaR
Дата 28.8.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 14
Всего: 42



И он абсолютно прав. Исправь вот на это:
Код

class class_B : class_A
{
    public Str2;
    public class_B(string str1, str2):base(st1)
    {
        Str2 = str2;
    }
}


Это сообщение отредактировал(а) HalkaR - 28.8.2008, 10:45
PM MAIL   Вверх
MasterOfCode
Дата 28.8.2008, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Помогло. А что значит приставка base после объявления конструкотора?


--------------------
user posted image
PM ICQ   Вверх
QryStaL
Дата 28.8.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 14
Всего: 32



Любой конструктор вызывает по цепочке конструкторы всех базовых классов. base служит для этой цели.


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
knut
Дата 28.8.2008, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



ну можно еще в базовом классе добавить дефолтный конструктор(ну если надо) и обойтись без base a
но лутше делать так как QryStaL,  сказал


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
Goganchic
Дата 28.8.2008, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Эта штука еще из плюсов пришла smile
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.