Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
Bолодя
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
1

Менять значение переменных сразу в двух классах

29.03.2012, 01:55. Просмотров 1270. Ответов 13
Метки нет (Все метки)

Простите если очень глупый вопрос, но я не могу его решить есть два класса и как в одном менять значение перменной другого?
Вот пример
C#
1
2
3
4
5
6
7
8
9
10
11
12
    class Lolshto
    {
        public LOL lol;
        public Lolshto(string text)
        {
            lol.lol = text;
        }
    }
    class LOL
    {
        public string lol;
    }
Если вызвать
C#
1
new Lolshto("sss");
Ту будет ошибка, что делать посовейтуйте)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2012, 01:55
Ответы с готовыми решениями:

Вывод значений переменных в двух разных классах
Доброго времени суток.По заданию необходимо создать переменные со спецификаторами public и...

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

Вычислить значение функции от двух переменных
Перевести формулу в код c++ за помощью библиотеки math.h

Вычислить значение функции от двух переменных
Нужно написать программу на C++ Z={x³+ln(y²+1), если x>y {cos x - sin y, если x меньше...

13
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
29.03.2012, 03:50 2
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
    class LOL
    {
        public string lol;
    }
 
    class Lolshto
    {
       public LOL lol;
 
       public void LolshtoMetod(string text)
        {
            lol.lol = text;
           
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            LOL item1 = new LOL();
            Lolshto item2 = new Lolshto();
            item2.lol = item1;
            item2.LolshtoMetod("omg");
 
 
        }
    }
1
Yukikaze
344 / 323 / 49
Регистрация: 12.12.2011
Сообщений: 563
29.03.2012, 06:45 3
Или так
C#
1
2
3
4
5
6
7
8
9
10
11
class Lolshto
    {
        public Lolshto(string text)
        {
            lol.lol = text;
        }
    }
    static class LOL
    {
        public static string lol;
    }
1
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
29.03.2012, 07:35 4
у него метод и класс имеют одинаковое название =) тут ничего не получится
1
Bолодя
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
29.03.2012, 11:29  [ТС] 5
Цитата Сообщение от SmallSexyMur Посмотреть сообщение
у него метод и класс имеют одинаковое название =) тут ничего не получится
подумай
0
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
29.03.2012, 11:38 6
Цитата Сообщение от Bолодя Посмотреть сообщение
подумай
каким образом можно вызвать не статический метод Lolshto не создавая экземпляр класса Lolshto?
а если будешь создавать экземпляр Lolshto item = new Lolshto(); то компилятор будет думать, что ты вызываешь метод а не конструктор. и будет ошибка ConsoleApplication27.Lolshto' does not contain a constructor that takes '0' argumentsConsoleApplication27
может что не так говорю. поправьте =)
1
Bолодя
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
29.03.2012, 11:51  [ТС] 7
Цитата Сообщение от SmallSexyMur Посмотреть сообщение
каким образом можно вызвать не статический метод Lolshto не создавая экземпляр класса Lolshto?
а если будешь создавать экземпляр Lolshto item = new Lolshto(); то компилятор будет думать, что ты вызываешь метод а не конструктор. и будет ошибка ConsoleApplication27.Lolshto' does not contain a constructor that takes '0' argumentsConsoleApplication27
может что не так говорю. поправьте =)
Ну мне нужно создавать со строкой Lolshto item = new Lolshto("СТРОКА"); и всё будет работать.

Добавлено через 2 минуты
Сделал вот так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
    class Lolshto
    {
        public LOL lol;
        public Lolshto(string text)
        {
            lol = new LOL();
            lol.lolka = text;
        }
    }
    static class LOL
    {
        public static string lolka;
    }
Получаю ошибку
http://the-boxi.narod2.ru/dt_634686042742656250.jpg
0
turbanoff
Эксперт Java
4056 / 3791 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
29.03.2012, 12:11 8
Цитата Сообщение от Bолодя Посмотреть сообщение
Получаю ошибку
Ну и, никаких выводов вы не сделали из текста ошибки?
Она же явно говорит, что нужно или убрать static у класса, или не пытаться создавать объекты этого типа.
0
Bолодя
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
29.03.2012, 12:21  [ТС] 9
Цитата Сообщение от turbanoff Посмотреть сообщение
Ну и, никаких выводов вы не сделали из текста ошибки?
Она же явно говорит, что нужно или убрать static у класса, или не пытаться создавать объекты этого типа.
Так а как мне обратиться к пермменой другого класса?
0
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
29.03.2012, 12:23 10
Bолодя, чем тебя не устраивает мой подход?
0
Bолодя
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
29.03.2012, 12:24  [ТС] 11
Цитата Сообщение от SmallSexyMur Посмотреть сообщение
Bолодя, чем тебя не устраивает мой подход?
Тем что на прямую нельзя поменять.
0
turbanoff
Эксперт Java
4056 / 3791 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
29.03.2012, 12:28 12
Цитата Сообщение от Bолодя Посмотреть сообщение
Так а как мне обратиться к пермменой другого класса?
Не понимаю суть вашего задания, но все же. В изначальном вашем коде всего одна ошибка - попытка модифицировать поле, у неинициализированной (равной null) переменной. Так добавьте инициализацию и все
C#
1
2
3
4
5
6
7
8
9
10
11
12
    class Lolshto
    {
        public LOL lol = new LOL();
        public Lolshto(string text)
        {
            lol.lol = text;
        }
    }
    class LOL
    {
        public string lol;
    }
1
SmallSexyMur
13 / 13 / 5
Регистрация: 04.09.2011
Сообщений: 80
29.03.2012, 12:39 13
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
    class LOL
    {
        public string lol;   
        
    }
 
    class Lolshto
    {   
       static public void LolshtoMetod(string text, LOL lol)
        {
            lol.lol = text;
 
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
 
            LOL item1 = new LOL("aa");
            Lolshto.LolshtoMetod("bb", item1);
            
 
 
        }
    }
тоже не очень понял задания =) но может так?
1
Bолодя
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
29.03.2012, 12:44  [ТС] 14
И так всё заработало.
Да что-то я всё понял что, у меня класс был равен "нулл" в тот момент когда я присваивал значение, ох я неудачник
Всем спасибо!
0
29.03.2012, 12:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2012, 12:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Поменять значение двух переменных без использования третьей
Задача.Даны 2 переменные.поменять их местами путем сложения и вычитания без использования 3-й...

Как можно в switch занести значение двух переменных?
Как можно в switch занести значение двух переменных. Вот кодswitch($row) { case '1': ...

Найти максимальное значение для функции двух переменных
Определить точку (x, y), в которой функция двух переменных z = cos 3x / (sin2 y + 1) принимает...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.