Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2014, 18:23   #11
doss
Пользователь
 
Регистрация: 05.03.2013
Сообщений: 41
По умолчанию

Все, Спасибо тебе! Ошибку исправил и сейчас корректирую программу свою.

Последний раз редактировалось doss; 06.10.2014 в 18:42.
doss вне форума Ответить с цитированием
Старый 06.10.2014, 19:44   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Незачто. Если что пиши )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2014, 19:54   #13
8Observer8
Старожил
 
Регистрация: 02.01.2011
Сообщений: 3,328
По умолчанию

Цитата:
Сообщение от doss Посмотреть сообщение
Я просто не знаю, как лучше...

Я от сюда понял, что нужно создать так:

Код:
class PList
{
	int NumL;
	std::string NameL;
	std::string TypeL;
}
как описать классы, я не знаю... тут и остановился
Гугл и книжки (например, А Крупник "Изучаем C++"). В книжках не всё подряд, а смотрите конкретно то, что нужно на данный момент.

Вот вы класс написали, а про спецификаторы доступа не узнали (public, private). Переменные надо объявлять закрытыми, а для них писать сеттеры/геттеры

К тому же у вас в задании написано, что нужно реализовать класс с конструктором копирования. Есть два разных подхода: стек и куча. В одном случае нужен конструктор копирования (если память берётся из кучи), а в другом - нет (если память из стека). В вашей задаче лучше со стеком делать, тогда не нужно будет переопределять конструктор копирования и оператор присваивания.

Для начала поразбирайтесь с этими темами:
https://ru.wikipedia.org/wiki/Конструктор_копирования

https://ru.wikipedia.org/wiki/Операц...ания_в_С%2B%2B

В этом можно разобраться, если самому экспериментировать. Гуглить, если не знаешь, как сделать. И задавать вопросы, если попал в тупик.
8Observer8 вне форума Ответить с цитированием
Старый 06.10.2014, 20:00   #14
8Observer8
Старожил
 
Регистрация: 02.01.2011
Сообщений: 3,328
По умолчанию

Извините, у меня создание нового сообщения висело с обеда, а только сейчас отправил ответ. Но всё равно оно может пригодится

Последний раз редактировалось 8Observer8; 06.10.2014 в 20:05.
8Observer8 вне форума Ответить с цитированием
Старый 06.10.2014, 20:05   #15
8Observer8
Старожил
 
Регистрация: 02.01.2011
Сообщений: 3,328
По умолчанию

У меня есть примерчик хороший. Надеюсь, пригодится:

main.cpp
Код:

#include <string>
#include <iostream>
#include <vector>
#include "Student.h"

void printStudents( const std::vector<Student> &students );

int main()
{
    // Array
    std::vector<Student> students;

    // Students
    Student ivan( "Ivan", "Petrov", 123 );
    Student petr( "Petr", "Sidorov", 234 );
    Student sidr( "Sidr", "Ivanov", 123 );

    // Add students to array
    students.push_back( ivan );
    students.push_back( petr );
    students.push_back( sidr );

    // Print students
    printStudents( students );

    return 0;
}

void printStudents( const std::vector<Student> &students )
{
    for( std::size_t i = 0; i < students.size(); i++ ) {
        std::cout << "First Name: " << students[i].firstName() << std::endl;
        std::cout << "Last Name: " << students[i].lastName() << std::endl;
        std::cout << "Group: " << students[i].group() << std::endl;
        std::cout << std::endl;
    }
}
Student.h
Код:
#ifndef STUDENT_H
#define STUDENT_H

#include <string>

class Student
{
public:
    Student( const std::string &firstName = "",
             const std::string &lastName = "",
             int group = 0 );

    void setFirstName( const std::string &firstName );
    void setLastName( const std::string &lastName );
    void setGroup( int group );

    std::string firstName() const;
    std::string lastName() const;
    int group() const;

private:
    std::string m_firstName;
    std::string m_lastName;
    int m_group;
};
#endif // STUDENT_H
Student.cpp
Код:
#include "Student.h"

Student::Student( const std::string &firstName,
                  const std::string &lastName,
                  int group ) :
    m_firstName( firstName ),
    m_lastName( lastName ),
    m_group( group )
{

}

void Student::setFirstName( const std::string &firstName )
{
    m_firstName = firstName;
}

void Student::setLastName( const std::string &lastName )
{
    m_lastName = lastName;
}

void Student::setGroup( int group )
{
    m_group = group;
}

std::string Student::firstName() const
{
    return m_firstName;
}

std::string Student::lastName() const
{
    return m_lastName;
}

int Student::group() const
{
    return m_group;
}
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать с классом unijkoder C# (си шарп) 4 01.11.2013 08:58
программа с классом.... YaDenis Помощь студентам 3 11.01.2013 15:07
проблемы с классом monolit111 Общие вопросы C/C++ 2 15.12.2011 12:36
Работа с классом UnChanter Помощь студентам 2 14.03.2010 20:23
Работа с классом| C++ Konicy Общие вопросы C/C++ 15 21.12.2009 19:08