Project A2 20141 - OOP344

From CDOT Wiki
Revision as of 17:31, 7 March 2014 by Hasan Kamal-Al-Deen (talk | contribs) (Introduction: Added blurb on design of doc.)
Jump to: navigation, search

OOP344 | Weekly Schedule | Student List | Teams | Project | A1 | A2 | A3 | Student Resources


The basic information of A2 is on the BTP300 site linked here. A number of issues have been found within the assignment spec and so a series of changes is required in order for the spec to produce a correct assignment. The changes are listed here. In addition, we are also listing a number of clarifications and suggestions that you may find helpful while implementing this assignment. Those will follow the spec code changes.

Spec Code Changes


  • Instead of #defining NULL in cfg.h, instead #include <cstdlib> at the top of cfg.h. eg:
#ifndef __CFG_H__
#define __CFG_H__
#include <cstdlib>




Functions to be removed

The following two functions should be removed from the specification completely. Let me be extra clear: DO NOT PUT THEM IN YOUR CFrame HEADER, DO NOT CODE THEM, DO NOT USE THEM!

  • CFrame::display
  • CFrame::edit


Updated Functions

  • The function CField::edit currently accepts 4 parameters and is not virtual.
    It should be updated as follows to be consistent with its child classes:
    • pure virtual
    • should not accept any parameters
    • should return int (it already does)



Both constructors should accept a bool* and NOT a bool for insert mode. Updated descriptions follow:

Constructor 1

Receives 8 values.

  • bool* - the insert mode for the line field


Constructor 2

Receives 7 values.

  • bool* - the insert mode for the line field


The Big Picture

This assignment is about creating a basic commandline GUI system. It is meant to show the student how OOP can be used effectively to create a system. The basic setup for this system are the 6 classes iFrame, CFrame, CField, CLabel, CLine, CButton and the supplemental class CDialog provided already implemented as a part of the spec.