Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ***Table.h***
- #ifndef Table_h
- #define Table_h
- using namespace std;
- #include <string>
- #include <iostream>
- class Table {
- public:
- Table();
- ~Table();
- void setLength(int length);
- bool setValue(int offset, int value);
- void addValues(Table & other);
- void print();
- private:
- int * table;
- int size;
- };
- #endif
- ***Table.cpp***
- #include "Table.h"
- Table::Table() {
- table = new int[10];
- for (int i = 0; i < 10; i++) {
- table[i] = NULL;
- }
- }
- Table::~Table() {
- delete[] table;
- }
- void Table::setLength(int length) {
- if (length < size) {
- int * newTab = new int[length];
- int i = 0;
- while (i < length) {
- newTab[i] = table[i];
- i++;
- }
- delete[] table;
- table = newTab;
- size = length;
- }
- else if (length > size) {
- int * newTab = new int[length];
- int i = 0;
- while (i < size) {
- newTab[i] = table[i];
- i++;
- }
- while (i < length) {
- newTab[i] = NULL;
- i++;
- }
- delete[] table;
- table = newTab;
- size = length;
- }
- }
- bool Table::setValue(int offset, int value) {
- if (offset < size) {
- table[offset] = value;
- return true;
- }
- return false;
- }
- void Table::addValues(Table & other) {
- int index = 0;
- setLength(size + other.size);
- for (int i = 0; i < size && index<other.size; i++) {
- if (table[i] == NULL) {
- table[i] = other.table[index];
- index++;
- }
- }
- }
- void Table::print() {
- for (int i = 0; i < size; i++) {
- if (table[i] != NULL) {
- cout << table[i] << endl;
- }
- }
- }
- ***Main.cpp***
- #include "Table.h"
- int main() {
- Table table_0, table_1;
- table_0.setLength(2);
- table_1.setLength(3);
- cout<<table_0.setValue(0, 3)<<endl;
- cout<<table_0.setValue(1, 4)<<endl;
- cout<<table_0.setValue(2, 9)<<endl;
- cout << table_1.setValue(0, 5) << endl;
- cout << table_1.setValue(1, 6) << endl;
- cout << table_1.setValue(2, 7) << endl;
- table_0.addValues(table_1);
- table_0.print();
- getchar();
- }
Advertisement
Add Comment
Please, Sign In to add comment