Используя статическую компоненту класса подсчитать количество созданных в программе объектов - C#
Формулировка задачи:
Задание: Используя статическую компоненту класса подсчитать количество созданных в программе объектов.
Статическую компоненту класса я создала:
Где в данной программе увеличивать счетчик (статическую компоненту класса), которая посчитает количество созданных элементов класса?
static int count = 0;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication22
{
class Money
{
int rubles;
int kopeks;
static int count = 0;
public int Rubles
{
get { return rubles; }
set { rubles = value; }
}
public int Kopeks
{
get { return kopeks; }
set
{
if (kopeks < 0 || kopeks > 99)
throw new ArgumentException("Копеек не может быть меньше нуля и больше 100");
else
if (rubles >= 0)
value = rubles + kopeks;
else
Console.WriteLine("Не хватает");
}
}
public Money()
{
rubles = 0;
kopeks = 0;
}
public Money(int rub, int kop)
{
rubles = rub;
kopeks = kop;
}
public void Show()
{
if ((rubles < 0) && (kopeks < 0 || kopeks > 100))
Console.WriteLine("Неверно введены рубли и копейки");
else
if(rubles < 0)
Console.WriteLine("Количество рублей не может быть отрицательным");
else
if (kopeks < 0 || kopeks > 100)
Console.WriteLine("Количество копеек не может быть меньше 0 и больше 100!");
else
Console.WriteLine("У вас " + rubles + " руб. " + kopeks + " коп.");
Console.WriteLine("Счетчик " + count);
}
class Program
{
static void Main()
{
Money x = new Money(5, 40);
x.Show();//выводим заданное количество рублей и копеек
Money z = new Money();
z = minus(x, 80);
z.Show();//выводим результат вычитания копеек из объекта Money
Console.ReadLine();
}
static Money minus(Money x, int kop)
{
Money res = new Money();
// if(x.Rubles >=0)
res.kopeks = ((x.Rubles * 100) + x.Kopeks) - kop;//переводим рубли в копейки и вычитаем заданное число копеек
res.rubles = res.kopeks/100;//ищем целую часть от числа - т.е. рубли
// res.kopeks = res.kopeks - (res.rubles * 100);
res.kopeks = res.kopeks % 100;//ищем сколько копеек
return res;
}
}
}
}Решение задачи: «Используя статическую компоненту класса подсчитать количество созданных в программе объектов»
textual
Листинг программы
public Money(int rub, int kop)
{
count++;
rubles = rub;
kopeks = kop;
}