Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2009, 01:40   #1
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Вопрос C# доступ к методам класса.

Доброй ночи .

У меня такая проблемка , в C# я новичёк )
И основной синтаксис мне не знаком.

Задача такова , сделать класс с вычислениями
Создавал 1 класс по примеру с Help'a VCSE 2008. всё получилось, когда создал 2рой класс с методами , из основного класса не могу добратся к методам 2рого класса.

Незамысловатй код :
Код:
using System;
    class drobe
    {   public int nr;//numerator  nr/1
        public int dr;//denumerator 1/dr
        public int In;//integer In(1/1)
    public drobe()
    {nr = 1;
     dr = 1;
     In = 0;}
    public drobe(int nr, int dr, int In)
    {   this.nr = nr;
        this.dr = dr;
        this.In = In;}


    public Double dec
    {
        get { return ((In * dr + nr) / dr); }
        set { }
    }

       public void Print()
      {
          Console.WriteLine("\n Дробь "+In+"("+nr+"/"+dr+")");
         Console.WriteLine("Десятичное значение = {0:G6}" + dec);
          Console.Write("");
      }
     public void Fill()
     { this.nr = getInt("Введите числитель: ");
     this.dr = getInt("Введите знаменатель: ");
     this.In = getInt("Введите целую часть: ");
     }

     static int getInt(string S)
     {
         Console.ForegroundColor = ConsoleColor.Red;
         Console.Write(S);
         return int.Parse(Console.ReadLine());
     }

    }
class Calculations
{
    //private drobe a;
    //private drobe b;
    public Calculations()
    {
        //a = null;
        //b = null;
    }
    //public Calculations(/*drobe a, drobe b*/)
    //{
    //    //this.a = a;
    //    //this.b = b;

    //}



   public  drobe  DrobeMult(drobe a,drobe b)
   {
       drobe res = new drobe(0,1,1);
       Console.WriteLine(res.dr + res.nr + res.In);
       return res;
   }
   public drobe DrobeDiv(drobe a, drobe b)
   {
       drobe res = new drobe(0, 1, 1);
       return res;
   }
   public drobe DrobeSubstr(drobe a, drobe b)
   {
       drobe res = new drobe(0, 1, 1);
       return res;
   }
   public drobe DrobeAdd(drobe a,drobe b)
   {
       drobe res = new drobe(0, 1, 1);
       return res;
   }
}

    class Program
    {
        static void Main()
        {
            Console.ForegroundColor = ConsoleColor.Green;
            drobe dr1 = new drobe(1,2,3);
            Console.ForegroundColor = ConsoleColor.Green;
            dr1.Print();
            dr1.Fill();
            dr1.Print();
            
            Console.ReadLine();
            
            
        }
        static int getInt(string S)
        { 
            Console.Write(S);
            Console.ForegroundColor = ConsoleColor.Red; ;
            return int.Parse(Console.ReadLine());
        }
    }
Укажите мою ошибку пожалуйста
ПС покачто мне важно добратся до методов класса Calculations , а дальше я сам допишу кто что делает

Прошу прощения , я уже сам разобрался , нельзя вызвать метод не создав класс в рантайм.
необходимо было
Код:
Calculations calc1 = new Calculations();
и далее обращатся к calc1. ...

Модераторам ( можно удалять / закрывать тему )

Последний раз редактировалось Lime; 03.03.2009 в 01:55.
Lime вне форума Ответить с цитированием
Старый 03.03.2009, 07:33   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Ужас какой. Почитайте всёже книжки про ООП
pu4koff вне форума Ответить с цитированием
Старый 03.03.2009, 13:01   #3
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Так а в чем ошибка?
Объяви два объекта класс Drobe и потом
Код:
Calculations calc1 = new Calculations();
calc1.DrobeMult(тут два объекта Drobe);
или я чего то не понял?
Hollander вне форума Ответить с цитированием
Старый 03.03.2009, 17:34   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Внутри класса drobe нужно создавать объект класса Calculations.
MaTBeu вне форума Ответить с цитированием
Старый 03.03.2009, 20:51   #5
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Всем спасибо , но я уже разобрался методом тыка)

В общем я здавал лабу до того как нам препод убьяснял тему по которой её нужно было делать . Тк имею некоторые представления в Delphi то могу себе это позволить)

Вот , почти сделал , но покачто ( лень ) не доконца сделал метод toCorrect() и toInCorrect() ( великие вирусы удалили мои лабы на флешке и моя работа снова недоделана )



Может комунибудь пригодится .. каментов много , но для себя )))
Также PrintSol снова "глючит" тк исправления пробелов утеряны доделаю , скину работающее если кому нужно)
Вложения
Тип файла: rar Program.rar (1.8 Кб, 6 просмотров)

Последний раз редактировалось Lime; 03.03.2009 в 20:53.
Lime вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка класса. Scratch Общие вопросы C/C++ 21 01.10.2008 16:21
Как получить доступ к свойствам и методам запущеного браузера? loma Общие вопросы .NET 0 08.07.2008 05:23
Создание класса Stanislav Общие вопросы Delphi 8 15.05.2008 23:34
Курсовая работа по мат.методам Рустам Фриланс 2 09.04.2008 21:23
Создания Класса Mickle Общие вопросы Delphi 1 30.04.2007 00:44