, COS3711 Assignment 1 2026 - DUE 2026
QUESTION 1
// main.cpp (Qt Console Application)
// qmake:
// QT += core
// CONFIG += console c++17
// What this includes (Question 1):
// - Vehicle base class: model + year (validated) + defaults
// - PassengerVehicle: passengerCount
// - TransportVehicle: capacityKg
// - Getters + setters
// - details() function (polymorphic)
// - VehicleList uses Qt parent-child ownership
// - main() creates vehicles (incl. default ctor), adds to list, prints to
console
#include <QCoreApplication>
#include <QList>
#include <QTextStream>
// -------------------------------
// Vehicle (base class)
// -------------------------------
class Vehicle : public QObject
{
public:
explicit Vehicle(QObject* parent = nullptr)
: QObject(parent), m_model(defaultModel()),
m_year(defaultYear()) {}
QUESTION 1
// main.cpp (Qt Console Application)
// qmake:
// QT += core
// CONFIG += console c++17
// What this includes (Question 1):
// - Vehicle base class: model + year (validated) + defaults
// - PassengerVehicle: passengerCount
// - TransportVehicle: capacityKg
// - Getters + setters
// - details() function (polymorphic)
// - VehicleList uses Qt parent-child ownership
// - main() creates vehicles (incl. default ctor), adds to list, prints to
console
#include <QCoreApplication>
#include <QList>
#include <QTextStream>
// -------------------------------
// Vehicle (base class)
// -------------------------------
class Vehicle : public QObject
{
public:
explicit Vehicle(QObject* parent = nullptr)
: QObject(parent), m_model(defaultModel()),
m_year(defaultYear()) {}