Написать программу, в которой описан класс "Политическая организация страны"
Реализовать методы ввода с клавиатуры, вывода на экран и один для работы с классом на выбор.
Создать классы-наследники и экземпляры-классы. Помогите мне, пожалуйста.
Код:
#include "stdafx.h"
#include <iostream>
using namespace std;
class Politecheskayaorganizaziastrany
{
public: // спецификатор доступа public
Politecheskayaorganizaziastrany(); // конструктор
~Politecheskayaorganizaziastrany(); // деструктор
void getinfo(string s);
private: // спецификатор доступа private
char formapravleniastranoy[300];
char ideologiastrany[300];
char politicheskyerezimstrany[300];
int pravitelstrany();
}; // конец объявления класса Politecheskayaorganizaziastrany
// Описание методов
Politecheskayaorganizaziastrany:: Politecheskayaorganizaziastrany() // конструктор
{
cout << "Политическая организация страны. \n";
cout << "Введите форму правления страной: ";
cin >> formapravleniastranoy;
cout << "Введите идеологию страны: ";
cin >> ideologiastrany;
cout << "Введите политический режим страны: ";
cin >> politicheskyerezimstrany;
}
int Politecheskayaorganizaziastrany:: pravitelstrany() // закрытый метод класса Politecheskayaorganizaziastrany, предназначен для определения правителя страны
{
int j;
cout << "Введите правителя страны: ";
cin >> j;
if(j == 1)
{
cout << "Король" << endl;
}
if(j == 2)
{
cout << "Президент" << endl;
}
return j;
}
void Politecheskayaorganizaziastrany:: getinfo(string s) // метод вывода информации о политической организации страны
{
cout << "Форма правления страной: " << formapravleniastranoy << endl;
cout << "Идеология страны: " << ideologiastrany << endl;
cout << "Политический режим страны: " << politicheskyerezimstrany << endl;
cout << "Правитель страны: " << pravitelstrany() << endl;
}
Politecheskayaorganizaziastrany:: ~Politecheskayaorganizaziastrany() {}
class Gosudarstvo: public Politecheskayaorganizaziastrany // класс-наследник Gosudarstvo (Государство)
{
public:
Gosudarstvo(); // конструктор
~Gosudarstvo(); // деструктор
private:
char vidgosudarstva[300];
char formagosudarstvennogoustroystva[300];
};
class Strana: public Politecheskayaorganizaziastrany // класс-наследник Strana (Страна)
{
public:
Strana(); // конструктор
~Strana(); // деструктор
private:
char nazvaniestrany[300];
char stolizastrany[300];
};
// описание конструктора класса Gosudarstvo
Gosudarstvo:: Gosudarstvo()
{
cout << "Характеристики государства \n";
cout << "Введите вид государства: ";
cin >> vidgosudarstva;
cout << "Введите форму государственного устройства: ";
cin >> formagosudarstvennogoustroystva;
}
Gosudarstvo:: ~Gosudarstvo() {} // уничтожение класса и освобождение памяти
// описание конструктора класса Strana
Strana:: Strana()
{
cout << "Характеристики страны \n";
cout << "Введите название страны: ";
cin >> nazvaniestrany;
cout << "Введите столицу страны: ";
cin >> stolizastrany;
}
Strana:: ~Strana() {} // уничтожение класса и освобождение памяти
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(0,"");
Gosudarstvo ObjectGosudarstvo; // создание экземпляра класса Gosudarstvo, используется вместо функции set()
ObjectGosudarstvo.getinfo("Государство");
ObjectGosudarstvo.~Gosudarstvo();
Strana ObjectStrana; // создание экземпляра класса Strana, используется вместо функции set()
ObjectStrana.getinfo("Страна");
ObjectStrana.~Strana();
system("pause");
return 0;
}