Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Переделать код С++ под С#


Автор: N1ko 20.5.2009, 16:52
Помогите переделать данній код под Шарп. В частности интересует, как проинициализировать значения аргументы, которые передаются конструктору.
 
Код

class TMyClass
{
private:
   int fint;

public:
    TMyClass (int x, ): fInt (x)
      {}
};

Автор: DVariuS 20.5.2009, 16:56
Код

class TMyClass
    {
        private int fint;

        public TMyClass(int x)
        {
            this.fint = x;
        }
    }

Автор: N1ko 20.5.2009, 16:59
И ещё вопрос. Допустим у меня есть две перегруженніе функции с 1 принимаемым аргументом и 3 мя. Данные функции находят объём куба или паралелепипеда, и в зависимости от колличества принимаемых аргументов используют ту или инную версию функции.  Как сказать функции, что бы она сразу принимала переменную a для куба, или b,c,d для паралелепипеда(вторая версия функции с тремя аргументами)?
Код

  class power3
    {
        public int a;
        public int b;
        public int c;
        public int d;
   
        public int in3(a)
        {
            return a*a*a;
        }
       public int in3(b,c,d)
        {
            return b * c * d;
        }

Автор: KelTron 21.5.2009, 05:14
Ну если использовать для вычисления только поля данных, тогда, думаю тебе это надо:
Код

class power3
{
        public int a;
        public int b;
        public int c;
        public int d;
   
        public int GetCubeCapacity()
        {
            return a*a*a;
        }
       public int GetParallelepipedCapacity()
        {
            return b * c * d;
        }
}


Хотя лучше, конечно, так:
Код

class Parallelepiped
{
        public int GetCapacity(int a)
        {
            return GetCapacity(a, a, a);
        }
        public int GetCapacity(int a, int b, int c)
        {
            return a * b * c;
        }
}


Автор: DVariuS 21.5.2009, 08:59
N1ko, а что это за поля у тебя в классе?
Код

public int a;
public int b;
public int c;
public int d;

Где они используются? Может, есть смысл переименовать их (или параметры, принимаемые методами), чтобы не возникало путаницы в коде?
И еще, если методы просто выполняют вычисления, принимая параметры извне - логичнее сделать их статическими.
З.Ы. Не совсем понятен смысл вопроса  smile 
Особенно вот это:  
Цитата(N1ko @  20.5.2009,  16:59 Найти цитируемый пост)
сразу принимала переменную a для куба, или b,c,d для паралелепипеда


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)