Opened 7 years ago

Closed 7 years ago

#189 closed ожидается проверка (задача сдана)

HA#1

Reported by: Григорий Каргин Owned by: rutsky,grabovoy.philipp
Priority: проверка Milestone: ha1-deadline
Component: HA#1 matrices Version:
Keywords: Cc:

Description


Change History (6)

comment:1 Changed 7 years ago by Vladimir Rutsky

Milestone: ha1-milestone1ha1-milestone2

Замечания:

  1. Вы включаете cpp-файл в hpp-файл --- так делать нельзя.
#pragma once

#include "matrices.cpp"

В hpp-файле должны находиться *объявления* переменных, классов, функций, которые представляют внешний интерфейс к функциональности, реализованной в cpp-файле.
В cpp-файле должны находиться *определения* (и реализация).

В случае, когда вся функциональность представима в виде класса, можно этот класс целиком поместить в заголовочном файле --- так поступают при написании header-only библиотек (т.е. библиотек, состоящих только из зголовочных файлов).
У этого подхода есть ряд плюсов, например, обьявления и определения в одном месте, и для использования такой библиотеки, достаточно просто включить её (не требуется компиляция и линковка дополнительных единиц трансляции).
Но есть и минусы, например, если хоть как-то поменять заголовочный файл header-only библиотеки, нужно пересобирать все единицы трансляции, транзитивно включающие его.

Вам необходимо оставить в заголовочном файле matrices.hpp объявление класса (включая его методы), а реализовать методы в matrices.cpp (если не разберетесь как это сделать --- пишите, я объясню).

  1. В auto i = 0, тип i оказывается int, а его диапазона значений может не хватить. Используйте явно size_t.

comment:2 Changed 7 years ago by Vladimir Rutsky

Type: ожидается проверкаожидаются исправления

comment:3 Changed 7 years ago by Григорий Каргин

Type: ожидаются исправленияожидается проверка

Учел замечания

comment:4 Changed 7 years ago by Vladimir Rutsky

Milestone: ha1-milestone2ha1-deadline
Type: ожидается проверкаожидаются исправления

Замечания:

  1. Заголовочный файл должен быть самодостаточным: при его включении в любой cpp файл (даже пустой), не должно быть ошибок компиляции. Сейчас в заголовочном файле, например, используется тип size_t, но <cstddef> не подключен.
  1. Сделайте метод print() константным, т.к. он не должен менять состояние класса: print() const.

comment:5 Changed 7 years ago by Григорий Каргин

Type: ожидаются исправленияожидается проверка

Учел замечания

comment:6 Changed 7 years ago by Vladimir Rutsky

Resolution: задача сдана
Status: newclosed

Решение зачтено.

Note: See TracTickets for help on using tickets.