联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2024-05-08 08:48

CPT106 Fundamental of C++ Project 2

1

CPT106 C++ Programming and Software Engineering II

Individual Project

Fundamental of class and object

Project Number 2

Contribution to Overall Marks 20%

Release date 10 April 2024

Submission Deadline 10 May 2024, 23:59

How should the work be submitted?

SOFT COPY ONLY!

(MUST be submitted through Learning Mall so that we can run your programs during

marking.)

Assessment Overview

This assessment aims to test some basic concepts of C++ programming and coding in the software

development environment (Visual Studio). To distribute the workload of the individual project

more evenly throughout the whole semester, we divided it into 3 smaller individual projects for you

to complete separately. This is the second individual project.

What should be submitted?

Only your C++ source code files (.cpp and .h) should be submitted to Learning Mall (LM). Your

grade will also be given through LM. There are several steps for you to note:

1. You should create a solution named “CPT106Solution”.

2. Create a project named “Project 2”.

3. Create a CPP file for question 1.

4. Create a CPP file and 3 header files for question 2.

5. Include clear comments in your code to make it easy to understand.

6. Only submit the cpp and header files to the LMO.

7. ALL programs MUST compile and run in Visual Studio 2013/2016/2019/2022.

CPT106 Fundamental of C++ Project 2

2

1. Develop a C++ program in a single cpp file with the following functions. (50 marks)

a. Define a class with following structure and members:

class MyArray {

private:

int* arr=NULL;

int num = 0;

public:

MyArray(int arrayLen) ;

void Display();

MyArray* operator+(MyArray& a);

friend MyArray* operator-(MyArray& a, MyArray& b);

};

b. Define a constructor MyArray(int arrayLen) to allocate memory using the pointer arr

for arrayLen integers. These integers should be initialized by a randomized integer

between 100 and 999. (10 marks)

c. Define a function void Display() to print out all the randomized integers referenced by

the pointer arr. (10 marks)

d. Overload operator + to add integer values in a and current object (this) accordingly to

get a new MyArray object and return its pointer. For example, if the integer values in

the current object (this) and a are {1, 2, 3} and {4, 5, 6, 7}, the integer values in the

new object should be {5, 6, 9, 7}. (10 marks)

e. Define a friend function MyArray* operator - (MyArray& a, MyArray& b) out of

the class MyArray to achieve subtraction operator for integers in the objects of a and b

and get a new MyArray object. For example, if the integers in a are {1, 2, 30} and

integers in b are {4, 5, 6, 7}, the integers in the new MyArray object are {-3, -3, 24, -

7}. (10 marks)

f. Create a main function out of the class MyArray to achieve the following steps: (10

marks)

i. Use the constructor to create two MyArray objects with different amounts of

integers.

ii. Call the display() function to print out the integers in these two objects.

iii. Call the overloading operator + to get a new object and call display() to print

out integers in the new object.

iv. Call the friend function operator - to get a new object and call display() to print

out integers in the new object.

2. Develop a C++ program with the following steps. (50 marks)

a. Define a class Vehicle in a header file “Vehicle.h” as the following: (10 marks)

i. Define four private variables to represent the Vehicle’s brand name, color,

power and weight.

ii. Define a constructor to initialize all the private variables.

iii. Define a virtual function input() to initialize all the private variables by the

user’s input from the keyboard.

iv. Define a virtual function display() to print out all the values of the private

Project 2 (100)

CPT106 Fundamental of C++ Project 2

3

variables.

b. Define a class Car in a header file “Car.h” as the following: (15 marks)

i. Publically Inherit from the base class Vehicle.

ii. Define a new private variable, seats, to represent the number of seats in the car.

iii. Define a constructor to initialize all the private variables.

iv. Define an overloading function input() to initialize all the private variables by

the user’s input from the keyboard.

v. Define an overloading function display() to print out all the values of the

private variables.

c. Define a class Truck in a header file “Truck.h” as the following: (15 marks)

i. Publically Inherit from the class Car.

ii. Define a new private variable, load, to represent the load capacity of the truck.

iii. Define a constructor to initialize all the private variables.

iv. Define an overloading function input() to initialize all the private variables by

the user’s input from the keyboard.

v. Define an overloading function display() to print out all the values of the

private variables.

d. Define a main function in a cpp file with the following steps: (10 marks)

i. Create a pointer array Vehicle *p[3].

ii. Create at least one object for each class (Vehicle, Car and Truck) and put these

objects into the pointer array.

iii. Use a for loop and call the display() function to print out the information of all

objects.

Marking Scheme

Function definition 70%

Comments 10%

Correction & Robustness 20%


相关文章

版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp