Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
iKarma
9 / 9 / 0
Регистрация: 17.10.2011
Сообщений: 114
#1

C++ виртуальные функции - C++

27.11.2011, 20:00. Просмотров 719. Ответов 0
Метки нет (Все метки)

Помогите плиз, используя мою прогу, используя мой класс, объявить в нем функции виртуальными и дополнить программу классом, в котором будет использованы эти функции. Написать демонстрационную программу использования данных виртуальных функций. Вот код:
Код
#include "stdafx.h"
#include <iostream>
#include <conio.h>

using namespace std;

enum month {jan = 1, feb, mar, apr, may, jun, jul, aug, sep, okt, nov, dek};
class DATE
{
public:
	void Print(char smb); //вывести дату по формату ДД*ММ*ГГ, где * - char smb
	unsigned Valid(unsigned dd, month mm, unsigned yy); //проверка значений ДД.ММ.ГГ
	//static void MyMethod(DATE& MyDate);
	DATE(DATE& MyDate);
	DATE(); //инициализация датой 01.01.0001
	~DATE();
	unsigned SetDATE(unsigned dd, month mm, unsigned yy); //изменить дату
private:
   unsigned dd;
   month mm;
   unsigned yy;
   char format;
};

DATE::DATE(DATE& MyDate) //определение конструктора копии
{
	dd = MyDate.dd;
	mm = MyDate.mm;
	yy = MyDate.yy;
	format = MyDate.format;
	cout << "Copy Constructor...\n";
}

DATE::DATE():dd(01) //определение конструктора
{
	//dd = 01;
	mm = jan;
	yy = 0001;
	cout << "Constructor...\n";
}

DATE::~DATE() //определение деструктора
{
	cout << "Destructor...\n";
}

//void DATE::MyMethod(DATE& MyDate)
//{
	//MyDate.Print(MyDate.format);
	//MyDate.Print(MyDate.format);
//}

void DATE::Print(char smb)
{
	cout<<dd<<smb<<mm<<smb<<yy<<"\n";
}

unsigned DATE::SetDATE(unsigned dd, month mm, unsigned yy)
{
	this->dd = dd;
	this->mm = mm;
	this->yy = yy;
	return 0;
}

unsigned DATE::Valid(unsigned dd, month mm, unsigned yy)
{
    if (dd>31){
        return 0;
    }
    if ((mm==feb) && (dd>28) && (!(yy%4))){
        return 0;
    }
    if ((mm==feb) && (dd>29)){
        return 0;
    }
    return 1;
}

int main()
{
	cout << "Input a separator character: ";
	char format = getch();
	cout << format << "\n";
	
	DATE MyDate;
	MyDate.Print(format);
    
    cout << "Example of Date:\n";
	MyDate.SetDATE(18, jan, 1991);
	MyDate.Print(format);

	//DATE::MyMethod(MyDate);

	if (MyDate.Valid(18, jan, 1991) == 1) cout << "It's OK Date\n";
    else cout << "Date is Wrong";

	getch();
	return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2011, 20:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C++ виртуальные функции (C++):

виртуальные и чисто виртуальные функции - C++
Чем они отличаются?? если можно, с примерами. И как из виртуальной функции сделать чисто виртуальную? #include &lt;iostream&gt; using...

виртуальные функции - C++
Добрый день. Начал изучать виртуальные функции и столкнулся с проблемой. Не могу перегрузить функцию. Объясните что не так и как нужно: ...

виртуальные функции - C++
C++ подскажите пожалуста на словах код писать ненадо. как преопределить функцию virtual Print(). Создать абстрактный базовый класс...

Виртуальные функции - C++
Создайте класс Word, определите в нем виртуальную функцию-член word_main(*char x), которая выводит на экран фразу: “Я знаю слово x”....

Виртуальные функции - C++
Доброго времени суток. Есть задание. Создать абстрактный класс Function (функция) с виртуальными методами вычисления значения функции...

виртуальные функции - C++
сделать какой либо из методов класса виртуальным #include&lt;iostream.h&gt; #include&lt;stdio.h&gt; class chislo { int a; public: ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2011, 20:00
Привет! Вот еще темы с ответами:

виртуальные функции - C++
интересует 2 вопроса:1)Какими элементами могут отличаться экземпляры одной виртуальной функции, находящиеся в разных производных...

Виртуальные функции - C++
Подскажите пожалуйста, как передать переменную из одной виртуальной функции в другую. Вот код программы работает правильно, но в остальных...

Виртуальные функции - C++
Объясните пожалуйста зачем нужны чисто виртуальные функции?

Виртуальные функции - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; using namespace std; class Array { ...


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

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

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