Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Препоръчан отговор


Здравейте! Имам нужда от малко помощ за задача по c++. Условието на задачата е:

Създайте клас Country (държава) с член-данни име, площ и численост на население и член-функции:

-конструктори

-get и set член-функции

-член-функция, която проверява дали населението на държаявата е по-голямо от число, подавано като параметър

-член функция, изчисляваща броя жителина единица площ

-член функция print(), извеждаща на екрана в подходящ вид членовете-данни на класа

 

Създайте клас OlympicCountry (Олимпийска страна) наследник на Country, с допълнително брой спортисти, участващив Олимпийските игри ичлен функции:

-конструктори

-get и set функции за новото поле

-метод participantsPerPerson, връщащ броя спортисти , падащи се на глава от населението

-предефинирайте метода print

 

Създала съм класа и наследник класа, както и конструктори и get и set функции, но от там нататък забивам и се обърквам. Ще се радвам ако някой би помогнал.

Линк към този отговор
Сподели в други сайтове
#include <iostream>
#include <string>
using namespace std;

class Country
{
    string name;
    int area;
    int population;
public:
    Country();
    Country(string name, int area, int population);
    string getName();
    void setName(string name);
    int getArea();
    void setArea(int area);
    int getPopulation();
    void setPopulation(int population);
    bool isPopulationMoreThan(int control);
    double populationDensity();
    void print();   
};

Country::Country()
{
    name = "Bulgaria";
    area = 111000;
    population = 6000000;
}

Country::Country(string name, int area, int population)
{
    this->name = name;
    this->area = area;
    this->population = population;
}

string Country::getName()
{
    return this->name;
}

void Country::setName(string name)
{
    this->name = name;
}

int Country::getArea()
{
    return this->area;
}

void Country::setArea(int area)
{
    this->area = area;
}

int Country::getPopulation()
{
    return this->population;
}

void Country::setPopulation(int population)
{
    this->population = population;
}

bool Country::isPopulationMoreThan(int control)
{
    return this->population > control;
}

double Country::populationDensity()
{
    return ((double)population) / ((double)area);
}

void Country::print()
{
    cout << "Name: " << this->name << endl;
    cout << "Area: " << this->area << " sq km" << endl;
    cout << "Population: " << this->population << endl;
}

class OlympicCountry : public Country
{
    int sportsmen;
public:
    OlympicCountry();
    OlympicCountry(string name, int area, int population, int sportsmen);
    int getSportsmen();
    void setSportsmen(int sportsmen);
    double participantsPerPerson();
    void print();
};

OlympicCountry::OlympicCountry() : Country()
{
    this->sportsmen = 100;
}

OlympicCountry::OlympicCountry(string name, int area, int population, int sportsmen)
    : Country(name, area, population)
{
    this->sportsmen = sportsmen;
}

int OlympicCountry::getSportsmen()
{
    return this->sportsmen;
}

void OlympicCountry::setSportsmen(int sportsmen)
{
    this->sportsmen = sportsmen;
}

double OlympicCountry::participantsPerPerson()
{
    return ((double)sportsmen) / ((double)getPopulation());
}

void OlympicCountry::print()
{
    Country::print();
    cout << "Participants: " << this->sportsmen << endl;
}

int main()
{
    Country b;
    OlympicCountry s = OlympicCountry("Sweden", 333000, 9000000, 200);
    b.print();
    cout << endl;
    s.print();
}

 

Линк към този отговор
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване