fix double includes and constness

This commit is contained in:
Adam Jeniski 2025-12-23 11:22:43 -10:00
parent 32f10f1ccb
commit 4a37e08b8e
9 changed files with 26 additions and 14 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
build
.cache

View File

@ -1,12 +1,15 @@
#ifndef RECTANGLE
#define RECTANGLE
#include "Shape.hpp"
struct Rectangle : public Shape
{
struct Rectangle : public Shape {
Rectangle(const double sideLen);
double area() override;
double area() const override;
private:
double sideLen{};
};
#endif

View File

@ -1,11 +1,14 @@
#ifndef SHAPE
#define SHAPE
#include <cstdint>
#include <iostream>
struct Shape
{
virtual double area() = 0;
virtual double area() const = 0;
double getArea();
double getArea() const;
protected:
Shape() = delete;
@ -13,3 +16,5 @@ protected:
size_t numSides{};
};
#endif

View File

@ -1,11 +1,16 @@
#ifndef TRIANGLE
#define TRIANGLE
#include "Shape.hpp"
struct Triangle : public Shape
{
Triangle(const double sideLen);
double area() override;
double area() const override;
private:
double sideLen{};
};
#endif

View File

@ -1,5 +1,5 @@
#include "Rectangle.hpp"
Rectangle::Rectangle(const double sideLen) : sideLen(sideLen) {}
Rectangle::Rectangle(const double sideLen) : Shape(sideLen) {}
Rectangle::area() { return sideLen * sideLen; }
double Rectangle::area() const { return sideLen * sideLen; }

View File

@ -5,4 +5,4 @@ Shape::Shape(const size_t numSides) : numSides(numSides)
}
double Shape::getArea(){ return area(); }
double Shape::getArea() const{ return area(); }

View File

@ -1,5 +1,5 @@
#include "Triangle.hpp"
Triangle::Triangle(const double sideLen) : sideLen(sideLen) {}
Triangle::Triangle(const double sideLen) : Shape::Shape(sideLen) { }
Triangle::area() { return 0.5 * sideLen * sideLen; }
double Triangle::area() const { return 0.5 * sideLen * sideLen; }

View File

@ -2,8 +2,6 @@ add_executable(unittest
${CMAKE_CURRENT_LIST_DIR}/TestShape.cpp
)
message("${CMAKE_CURRENT_LIST_DIR}/TestShape.cpp")
target_link_libraries(unittest PUBLIC
Shapes
gtest_main

View File

@ -1,4 +1,4 @@
#include <gtest/gtest.hpp>
#include <gtest/gtest.h>
#include "Rectangle.hpp"
#include "Triangle.hpp"