Project A2 20141 - OOP344
OOP344
| Weekly Schedule
| Student List
| Teams
| Project
| A1
| A2
| A3
| Student Resources
Contents
Introduction
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
cfg.h
- 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> ... #endif
CFrame
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
CField
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)
CLine
Constructors
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.