Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

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

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

 

OOP скрити членове,вектори и конструктори

Featured Replies

4 I.Да се състави клас "Студент", съхраняващ информация за студент от компютърни науки. Частни член променливи:

Iа. Фак No ‐ низ;

Iб. Група‐низ, напр. "g1", "gr2", "grupa3".., (номерът е накрая на името). Публични функции и оператори:

 1 I.1. Експлицитен конструктор

I.2. Четене на членовете 

 I.3. Предефиниране на потоко вход >>

  I.3. Предефиниране на потоко изход <<

  I.4 Предефиниране на оператор <

 4 II. Да се състави клас "Специалност". Скрити членове:

IIа.Име на специалност : низ, напр: KST, SIT;

IIб. Вектор от обекти от клас I., включени в специалността : тип vector. Публични членове:

Конструктори: 4 1 II.1. подразбиращ се и

 1 II.2. експлицитен (по име на специалност)

 2 II.2 Четене на членовете

 1 II.3 Промяна на името на специалността

 2 II.4 Функция за сортиране на студентите във вектора по фак. Номер. Оператори (константни):

 1 II.5 Сравнение за == по име на специалност

2 II.6 Сравнение за < по име на специалност, допълнително при необходимост и по брой студенти

 1 II.7 Предефинира потоков вход >> (вижте формата на данните във файла точка III.1 и пример в края )

 1 II.8 Предефинира потоков изход <<

 4 III. Да се състави клас "Дисциплина"‐ ООП1, ООП2... Скрити членове:

IIIа. Име на дисциплина, напр. OOP1

IIIб. Вектор от обекти от клас II, за които се чете дисциплината

4 Публични членове. Конструктори:

III.1 Експлицитен по име на файл с данни‐изключение Формат на файла:

<име на дисциплина>

<име на спец1>SP<брой студенти>SP<фак.номер> SP<група> ....

<име на спец2> SP<брой студенти>SP<фак.номер> <група> ....

Функции:

 2 III.3 Четене/промяна на име на дисциплина

 1 III.4 Четене на вектора от обекти от клас II

4 III.5 Създаване и връща карта с ключ име на специалност и стойност‐списък от групите, които същата включва – map<string, list<string>>

 5 III.6 Създаване и връща списък от фак. номера на студенти, по зададени като параметри име на специалност и група. Оператори:

 4 III.7 Оператор за вход >>

4 III.8 Оператор за изход <<

 

 

 

#include<iostream>

#include<string>

#include<fstream>

using namespace std;
class Student
{ private:
string    fn;
string grupa;
public:    
     Student(const string newFN, const string newGrupa){                     //ekspliciten
      this->fn = newFN;
      this ->grupa=newGrupa;

   }
     string getFN()const{           // chetene    na chlenovete
         return this->fn;
     }
     string getGrupa()const{
         return this->fn;
     }
     bool operator<(const Student &student)const{ //predifinirane na protokol vhod i izhod
         return this->fn < student.fn;
     }
     friend istream& operator >>(istream&,Student&);
     friend ostream& operator <<(ostream&,const Student&);
};

istream& operator>>(istream& is , Student& student) // predifinirane na operator 
{
    cout<<"enter student fn!"<<endl;
    string newFN;
    is>> newFN;
    cout<<"enter  student group"<<endl;
    string newGroup;
    is>>newGroup;
    student.fn=newFN;
    student.group=newGroup;
    return is;
}
ostream& operator <<(ostream & os , const Student& student)
{
    os<<"student fn is " <<student.fn<<"."<<endl;
    os<<"student group is "<<student.group<<"."<<endl;
    return os;
}
class Specialnost 
{ private: 
string specialnost ;
public:

 

ако може да попитам как да продължа с векторите и конструкторите

на 28.01.2021 г. в 12:27, vachetyy написа:

4 I.Да се състави клас "Студент", съхраняващ информация за студент от компютърни науки. Частни член променливи:

Iа. Фак No ‐ низ;

Iб. Група‐низ, напр. "g1", "gr2", "grupa3".., (номерът е накрая на името). Публични функции и оператори:

 1 I.1. Експлицитен конструктор

I.2. Четене на членовете 

 I.3. Предефиниране на потоко вход >>

  I.3. Предефиниране на потоко изход <<

  I.4 Предефиниране на оператор <

 4 II. Да се състави клас "Специалност". Скрити членове:

IIа.Име на специалност : низ, напр: KST, SIT;

IIб. Вектор от обекти от клас I., включени в специалността : тип vector. Публични членове:

Конструктори: 4 1 II.1. подразбиращ се и

 1 II.2. експлицитен (по име на специалност)

 2 II.2 Четене на членовете

 1 II.3 Промяна на името на специалността

 2 II.4 Функция за сортиране на студентите във вектора по фак. Номер. Оператори (константни):

 1 II.5 Сравнение за == по име на специалност

2 II.6 Сравнение за < по име на специалност, допълнително при необходимост и по брой студенти

 1 II.7 Предефинира потоков вход >> (вижте формата на данните във файла точка III.1 и пример в края )

 1 II.8 Предефинира потоков изход <<

 4 III. Да се състави клас "Дисциплина"‐ ООП1, ООП2... Скрити членове:

IIIа. Име на дисциплина, напр. OOP1

IIIб. Вектор от обекти от клас II, за които се чете дисциплината

4 Публични членове. Конструктори:

III.1 Експлицитен по име на файл с данни‐изключение Формат на файла:

<име на дисциплина>

<име на спец1>SP<брой студенти>SP<фак.номер> SP<група> ....

<име на спец2> SP<брой студенти>SP<фак.номер> <група> ....

Функции:

 2 III.3 Четене/промяна на име на дисциплина

 1 III.4 Четене на вектора от обекти от клас II

4 III.5 Създаване и връща карта с ключ име на специалност и стойност‐списък от групите, които същата включва – map<string, list<string>>

 5 III.6 Създаване и връща списък от фак. номера на студенти, по зададени като параметри име на специалност и група. Оператори:

 4 III.7 Оператор за вход >>

4 III.8 Оператор за изход <<

 

 

 

#include<iostream>

#include<string>

#include<fstream>

using namespace std;
class Student
{ private:
string    fn;
string grupa;
public:    
     Student(const string newFN, const string newGrupa){                     //ekspliciten
      this->fn = newFN;
      this ->grupa=newGrupa;

   }
     string getFN()const{           // chetene    na chlenovete
         return this->fn;
     }
     string getGrupa()const{
         return this->fn;
     }
     bool operator<(const Student &student)const{ //predifinirane na protokol vhod i izhod
         return this->fn < student.fn;
     }
     friend istream& operator >>(istream&,Student&);
     friend ostream& operator <<(ostream&,const Student&);
};

istream& operator>>(istream& is , Student& student) // predifinirane na operator 
{
    cout<<"enter student fn!"<<endl;
    string newFN;
    is>> newFN;
    cout<<"enter  student group"<<endl;
    string newGroup;
    is>>newGroup;
    student.fn=newFN;
    student.group=newGroup;
    return is;
}
ostream& operator <<(ostream & os , const Student& student)
{
    os<<"student fn is " <<student.fn<<"."<<endl;
    os<<"student group is "<<student.group<<"."<<endl;
    return os;
}
class Specialnost 
{ private: 
string specialnost ;
public:

 

ако може да попитам как да продължа с векторите и конструкторите

class Specialnost
{
private:
    string specialnost;
    vector<Student>v_student;
public:
    //podrazbirasht
    Specialnost()
    {
        specialnost = " ";
    }
    Specialnost(const string& Spec)
    {
        specialnost = Spec;
    }
};

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.