7 лабораториялык жумыс. Операторларды асыра жүктеуді жүзеге асыру.
10-нұсқа
Телефон класын сипаттаңыз, ол телефон арқылы сөйлесудің бағасын белгілейді. Оның өрістері: телефон нөмірі, 1 минут сөйлесу бағасы, сөйлесу уақыты (минутпен). Келесі операторларды асыра жүктеңіз:
1. телефон класы үшін true/false операторларын асыра жүктеңіз, сөйлесу уақыты 1 минуттан кем болатын объект жалған деп тұжырымдаңыз;
2. телефон класы үшін (+ екі телефон объектісін қосу) операторын асыра жүктеңіз, операция нәтижесінде екі объект үшін есептелген сөйлесу бағасының қосындысы есептеледі деп тұжырымдаңыз.
using System;
namespace p
{
class Telephone
{
private double uakyty;
private string n;
private double tarif;
public double Tarif { get => tarif; set => tarif = value; }
public double Uakyty { get => uakyty; set => uakyty = value; }
public string N { get => n; set => n = value; }
public Telephone() { }
public Telephone(string n, double uakyty, double tarif)
{
this.N = n;
this.Uakyty = uakyty;
this.Tarif = tarif;
}
public Telephone(Telephone t)
{
this.N = t.n;
this.Uakyty = t.uakyty;
this.Tarif = t.tarif;
}
public double s()
{
return Uakyty * Tarif;
}
public double s(double zh)
{
return Uakyty * Tarif - Uakyty * Tarif * zh / 100;
}
public void i()
{
Console.WriteLine("Абонент:" + N + "\nУакыты(минутпен) : " + Uakyty + "\n Тариф : " + Tarif);
}
public static bool operator true(Telephone c1) => c1.uakyty>1;
public static bool operator false(Telephone c1) => c1.uakyty < 1;
public static double operator +(Telephone a, Telephone b)
{
return a.s() + b.s();
}
}
class Program
{
static void Main(string[] args)
{
Telephone t = new Telephone("+7 747 701 7252", 11, 12);
t.i();
Console.WriteLine("ОПЛАТА= " + t.s());
Console.WriteLine("true /false тексеру:");
if (t) Console.WriteLine("true(сойлесу уакыты 1 минуттан улкен)");
else Console.WriteLine("false(сойлесу уакыты 1 минуттан киши)");
Console.WriteLine("объектти объектке косу (озине озин костым)(натижеге еки объект оплата суммасы шыгады) :"+(t+t));
}
}
}
Достарыңызбен бөлісу: |