the big five

sedang Berlangsung Dipasang 3 tahun yang lalu Dibayar saat pengiriman
sedang Berlangsung Dibayar saat pengiriman

Create and test a class called Points2D. This class describes a sequence of 2D points (i.e. points in the 2D-plane). For example (1, 3), (4, 5) is a sequence of two points, where each coordinate is an integer. (1.2, 3.4), (5.6, 10.1), (11.1, 12.0) is a sequence of three points where each coordinate is a double. A sequence can have any size. An empty sequence has size 0.

The purpose of this assignment is to have you create a Points2D class from scratch with limited help from the STL. Since Points2D can have arbitrary size, you should use pointers. The private data members should be:

size_t size; std::array<Object, 2> *sequence_;

Object is the template type parameter (i.e. int, double, etc.). An initial piece of code with the structure of the class is provided. Do not change the data representation (for instance do not use a vector or list to represent the sequence_).

Pay special attention to Mark Allen Weiss's "big five" in the textbook: the destructor, copy constructor, copy assignment operator, move constructor and move assignment operator.

Included are the two files (points2d.h, [login to view URL]) you will need, as well as the Makefile. Do not modify the Makefile or the file names. Do not modify the [login to view URL] file except by changing or adding include files if needed. You can comment in the main file the parts you didn’t complete. The points2d.h file is not complete. In the file it is explained where to provide changes. You will be provided with a sample input file [login to view URL] and it is explained at the end of this document how to use it.

This assignment will help you revisit constructors, destructors, overloading of operators, and templates. Follow a consistent C++ coding style, for instance

PART 1 [70 points]

Implement the “big five”. Add the output stream << operator.

Demonstrate that you are able to read and write data correctly by including the following code in the main file. The code is already provided for you in the main file. You can comment parts of it as you are testing your implementation. For full credit all functions should work.

void TestPart1() {

Points2D<int> a, b; // Two empty Points2 are created.

cout << [login to view URL]() << " " << [login to view URL]() << endl; // yields 0 0.

const array<int, 2> a_point2d{{7, 10}};

Points2D<int> d{a_point2d}; // Sequence (7, 10) should be created. cout << d; // Should just print (7, 10)

cout << "Enter a sequence of points (integer)" << endl; [login to view URL](); // User enters a set of points in the form:

// 3 7 4 3 2 1 10

// 3 specifies number of points. Points are the pairs // (7, 4) (3, 2) and (1, 10)

cout << "Output1: " << endl;

cout << a; // Output should be what user entered.

cout << "Enter a sequence of points (integer)" << endl; [login to view URL](); // Enter another sequence.

cout << "Output2: " << endl;

cout << b;

Points2D<int> c{a}; // Calls copy constructor for c.

cout << "After copy constructor1 c{a}: " << endl;

cout << c;

cout << a;

a = b; // Should call the copy assignment operator for a. cout << "After assignment a = b" << endl;

cout << a;

Points2<int> e = move(c); // Move constructor for d. cout << "After e = move(c) " << endl;

cout << e;

cout << c;

cout << "After a = move(e) " << endl;

a = move(e); // Move assignment operator for a.

cout << a;

cout << e;

}

Pemrograman C++

ID Proyek: #29363335

Tentang proyek

3 proposal Proyek online Aktif 3 tahun yang lalu

3 freelancer rata-rata menawar $43 untuk pekerjaan ini

inspiredwhiz

Hi, Dear Employer! I am really interested in your project. I have enough experience on python, C/C++, C#, java programming. I have in-depth knowledge of C#, mysql, javascript , jquery, payment system integrations, AP Lebih banyak

$30 USD dalam 2 hari
(26 Ulasan)
5.6
devvitaliy

Hello C/C++ Expert Checked your description and I am so interested in your project. You can see well experienced and skillful C and C++ programmer with +15 years of experience in software development. I ensure the best Lebih banyak

$50 USD dalam 1 hari
(37 Ulasan)
5.4