2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 247
1

Подскажите пожалуйста что означает эта строка X x2;?

01.04.2013, 20:23. Показов 3136. Ответов 35
Метки нет (Все метки)

Подскажите пожалуйста что означает эта строка X x2;?
вот текст программы:
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
// Ссылка на базовый класс может указывать на
// объект производного класса.
using System;
class X {
public int a;
public X(int i) {
a = i;
}
}
class Y : X {
public int b;
public Y(int i, int j) : base(j) {
b = i;
}
}
class BaseRef {
public static void Main() {
X x = new X(10);
X x2;
Y y = new Y(5, 6);
x2 = x; // OK, обе переменные имеют одинаковый тип.
Console.WriteLine("x2.a: " + x2.a);
x2 = y; // Все равно ok, поскольку класс Y
// выведен из класса X.
Console.WriteLine("x2.a: " + x2.a);
// Х-ссылки "знают" только о членах класса X.
x2.a = 19; // ОК
// x2.b = 27; // Ошибка, в классе X нет члена b.
}
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2013, 20:23
Ответы с готовыми решениями:

что означает эта строка:
что означает эта строка: Console.WriteLine("a.x {0}, b.x {1}", a.x, b.x);? // Копирование...

подскажи пожалуйста что означает эта запись?
string str = vvod.Split(new Char { ' ', ',', '.', ':', '!', '?', ';' },...

Скажите пожалуйста, что значит эта строка в программе?
Что значит эта строка - static int CheckInput(int b1, string Digit) ??? В этой программе : ...

Подскажите, пожалуйста, что значит эта строчка?
Подскажите, пожалуйста, что значит эта строчка? Tick1 += () => { };

35
7 / 7 / 4
Регистрация: 25.03.2013
Сообщений: 117
01.04.2013, 20:26 2
Что создается объект класса Х под названием х2
1
2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 247
01.04.2013, 20:32  [ТС] 3
спасибо!
0
Администратор
Эксперт .NET
9380 / 4664 / 757
Регистрация: 17.04.2012
Сообщений: 9,511
Записей в блоге: 14
02.04.2013, 16:31 4
Цитата Сообщение от Дмытро Посмотреть сообщение
X x = new X(10);
Вот здесь создаётся объект типа X и помещается в переменную x, а здесь
Цитата Сообщение от Дмытро Посмотреть сообщение
X x2;
создаётся лишь переменная. Её содержимое на момент исполнения этой строчки - null
1
Эксперт .NET
17078 / 12553 / 3299
Регистрация: 17.09.2011
Сообщений: 20,809
02.04.2013, 17:13 5
tezaurismosis, откуда вы знаете, что значение переменной x2 на момент ее объявления в методе равняется null?
2
283 / 254 / 73
Регистрация: 17.07.2012
Сообщений: 618
02.04.2013, 17:22 6
kolorotur, дак объект то не создается)
1
Администратор
Эксперт .NET
9380 / 4664 / 757
Регистрация: 17.04.2012
Сообщений: 9,511
Записей в блоге: 14
02.04.2013, 17:24 7
Цитата Сообщение от ITL Посмотреть сообщение
kolorotur, дак объект то не создается)
Цитата Сообщение от kolorotur Посмотреть сообщение
tezaurismosis, откуда вы знаете, что значение переменной x2 на момент ее объявления в методе равняется null?
Видимо, это была шутка.
1
3026 / 2176 / 633
Регистрация: 02.08.2011
Сообщений: 5,977
02.04.2013, 17:37 8
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Видимо, это была шутка.
А откуда вы знаете, что X - не структура?

Не по теме:

Телепат :)

1
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
02.04.2013, 17:42 9
Цитата Сообщение от IamRain Посмотреть сообщение
А откуда вы знаете, что X - не структура?
Ну как бы:
C#
1
class X
1
3026 / 2176 / 633
Регистрация: 02.08.2011
Сообщений: 5,977
02.04.2013, 17:42 10
А, блин, виноват, не смотрел код
1
Заблокирован
02.04.2013, 17:44 11
вообще-то kolorotur совсем не шутил. Объявление в методе гарантирует только, что при обращении к объявленной, но не инициализированной переменной возбудит Exception. Другой разговор с полями класса, они для ссылочных типов будут равны null
0
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
02.04.2013, 17:47 12
Цитата Сообщение от IamRain Посмотреть сообщение
А, блин, виноват, не смотрел код
Даааа! kolorotur любит вставить нечто низкоуровневое! Какую нибудь фишку компилятора или Runtime машины. Мне тоже интересно что он имел ввиду!

Добавлено через 1 минуту
Цитата Сообщение от loro Посмотреть сообщение
что при обращении к объявленной, но не инициализированной переменной возбудит Exception
Все начали гадать! В нашем случае обращения к неинициализированной переменной нет!
0
3026 / 2176 / 633
Регистрация: 02.08.2011
Сообщений: 5,977
02.04.2013, 17:47 13
RefType - всегда null же без инициализации,память в куче не выделена; ValueType - нули.
Цитата Сообщение от loro Посмотреть сообщение
вообще-то kolorotur совсем не шутил. Объявление в методе гарантирует только, что при обращении к объявленной, но не инициализированной переменной возбудит Exception
В данном случае NullReference exception
0
Заблокирован
02.04.2013, 17:48 14
точнее при таком обращении код вообще не компилится.
0
3026 / 2176 / 633
Регистрация: 02.08.2011
Сообщений: 5,977
02.04.2013, 17:48 15
loro, ну да, не шутил, смайл такой серьезный
0
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
02.04.2013, 17:52 16
Ну всё! Если kolorotur сегодня не отпишется, я не усну! Буду лежать и думать почему же там не null!!!!
0
Заблокирован
02.04.2013, 17:53 17
LeniumSoft, это не гадание, а факт. Если там обращение или нет, то что там в этой переменной не определено по документации.


Цитата Сообщение от loro Посмотреть сообщение
Другой разговор с полями класса, они для ссылочных типов будут равны null, для значимых дефолтное значение для типа.
это также есть в документации.

Добавлено через 1 минуту
Цитата Сообщение от IamRain Посмотреть сообщение
В данном случае NullReference exception
<censored>.. не компилируемый код я уже написал, вот что это.
0
tezaurismosis
02.04.2013, 17:55
  #18

Не по теме:

Цитата Сообщение от IamRain Посмотреть сообщение
Телепат
Если бы не подмигивающий смайл в сообщении kolorotur, я бы тут тоже с вами окунулся в дебри инициализации :p

0
3026 / 2176 / 633
Регистрация: 02.08.2011
Сообщений: 5,977
02.04.2013, 17:58 19
Цитата Сообщение от loro Посмотреть сообщение
не компилируемый код я уже написал, вот что это.
Все, все, я убедился в этом, не ругайся, дружище.
0
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
02.04.2013, 17:59 20
Цитата Сообщение от loro Посмотреть сообщение
<censored>.. не компилируемый код я уже написал, вот что это.
Скрин вас сильно огорчит?
Миниатюры
Подскажите пожалуйста что означает эта строка X x2;?  
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2013, 17:59
Помогаю со студенческими работами здесь

Подскажите, пожалуйста, что означает эта строка в ассемблере: 00b00DE0 add byte ptr [eax], al, как её прочитать?
Что означает 00b00DE0, 00b00DE2, 00b00DE4 и т.д.?

Что означает эта строка ?
Добрый день, столкнулся с java кодом, нужно его перевести на c# , но не до конца понимаю значение...

Что означает эта строка: return '\0'?
return '\0';

Что означает эта строка в программе : until not(n in ['1'.'4']);
Program funktion5; uses crt; Var x,y,z:real; n:char; Begin clrscr; repeat clrscr;...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru