Skip to content
Snippets Groups Projects
Commit e9f365a8 authored by W. Spencer Smith's avatar W. Spencer Smith
Browse files

DataSet examples without abstract class

parent 2816624e
No related branches found
No related tags found
No related merge requests found
Showing
with 404 additions and 0 deletions
SRC_DIRS := src
C_SRCS := $(foreach srcdir,$(SRC_DIRS),$(wildcard $(srcdir)/*.c))
CXX_SRCS := $(foreach srcdir,$(SRC_DIRS),$(wildcard $(srcdir)/*.cpp))
C_OBJS := ${C_SRCS:.c=.o}
CXX_OBJS := ${CXX_SRCS:.cpp=.o}
OBJS := $(C_OBJS) $(CXX_OBJS)
INCLUDE_DIRS := include
LIBRARY_DIRS :=
LIBRARIES :=
prog_NAME := experiment
prog_DIR := bin
prog_FULL := $(prog_DIR)/$(prog_NAME)
prog_SRC_DIRS := experimentation
prog_C_SRCS := $(foreach srcdir,$(prog_SRC_DIRS),$(wildcard $(srcdir)/*.c))
prog_CXX_SRCS := $(foreach srcdir,$(prog_SRC_DIRS),$(wildcard $(srcdir)/*.cpp))
prog_C_OBJS := ${prog_C_SRCS:.c=.o}
prog_CXX_OBJS := ${prog_CXX_SRCS:.cpp=.o}
prog_OBJS := $(prog_C_OBJS) $(prog_CXX_OBJS)
prog_INCLUDE_DIRS :=
prog_LIBRARY_DIRS :=
prog_LIBRARIES :=
all_OBJS := $(OBJS) $(prog_OBJS) $(test_OBJS)
DEP := $(all_OBJS:%.o=%.d)
CXXFLAGS += -std=c++11
CXXFLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir))
LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir))
LDFLAGS += $(foreach library,$(LIBRARIES),-l$(library))
.PHONY: experiment src clean
experiment: CXXFLAGS += $(foreach includedir,$(prog_INCLUDE_DIRS),-I$(includedir))
experiment: LDFLAGS += $(foreach librarydir,$(prog_LIBRARY_DIRS),-L$(librarydir))
experiment: LDFLAGS += $(foreach library,$(prog_LIBRARIES),-l$(library))
experiment: $(prog_FULL)
./$(prog_FULL)
$(prog_FULL): $(prog_OBJS) $(OBJS)
$(LINK.cc) $^ -o $@
-include $(DEP)
%.o: %.cpp
$(CXX) $(CXXFLAGS) -MMD -c $< -o $@
clean:
@- $(RM) $(prog_FULL)
@- $(RM) $(prog_OBJS)
@- $(RM) $(OBJS)
@- $(RM) $(DEP)
File added
#include "DataSet.h"
#include <iostream>
using namespace std;
int main() {
DataSet ds;
ds.add(0.0);
ds.add(5.0);
ds.add(25.0);
ds.add(13.0);
cout << "average = " << ds.getAverage() << "\n";
cout << "maximum = " << ds.getMaximum() << "\n";
return 0;
}
#ifndef DATASET_H
#define DATASET_H
class DataSet
{
private:
double sum;
double maximum;
int count;
public:
DataSet();
void add(double x);
double getAverage();
double getMaximum();
friend ostream &operator<<( ostream &output, const PointT &P ) {
output << "x-coord: " << P.xc << "y-coord: " << P.yc;
return output;
};
#endif
#include "DataSet.h"
DataSet::DataSet()
{
this->sum = 0.0;
this->maximum = 0.0;
this->count = 0;
}
void DataSet::add(double x)
{
this->sum += x;
if (count == 0 || maximum < x) maximum = x;
count++;
}
double DataSet::getAverage()
{
if (count == 0) return 0;
else return sum/count;
}
double DataSet::getMaximum()
{
return maximum;
}
SRC_DIRS := src
C_SRCS := $(foreach srcdir,$(SRC_DIRS),$(wildcard $(srcdir)/*.c))
CXX_SRCS := $(foreach srcdir,$(SRC_DIRS),$(wildcard $(srcdir)/*.cpp))
C_OBJS := ${C_SRCS:.c=.o}
CXX_OBJS := ${CXX_SRCS:.cpp=.o}
OBJS := $(C_OBJS) $(CXX_OBJS)
INCLUDE_DIRS := include
LIBRARY_DIRS :=
LIBRARIES :=
prog_NAME := experiment
prog_DIR := bin
prog_FULL := $(prog_DIR)/$(prog_NAME)
prog_SRC_DIRS := experimentation
prog_C_SRCS := $(foreach srcdir,$(prog_SRC_DIRS),$(wildcard $(srcdir)/*.c))
prog_CXX_SRCS := $(foreach srcdir,$(prog_SRC_DIRS),$(wildcard $(srcdir)/*.cpp))
prog_C_OBJS := ${prog_C_SRCS:.c=.o}
prog_CXX_OBJS := ${prog_CXX_SRCS:.cpp=.o}
prog_OBJS := $(prog_C_OBJS) $(prog_CXX_OBJS)
prog_INCLUDE_DIRS :=
prog_LIBRARY_DIRS :=
prog_LIBRARIES :=
all_OBJS := $(OBJS) $(prog_OBJS) $(test_OBJS)
DEP := $(all_OBJS:%.o=%.d)
CXXFLAGS += -std=c++11
CXXFLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir))
LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir))
LDFLAGS += $(foreach library,$(LIBRARIES),-l$(library))
.PHONY: experiment src clean
experiment: CXXFLAGS += $(foreach includedir,$(prog_INCLUDE_DIRS),-I$(includedir))
experiment: LDFLAGS += $(foreach librarydir,$(prog_LIBRARY_DIRS),-L$(librarydir))
experiment: LDFLAGS += $(foreach library,$(prog_LIBRARIES),-l$(library))
experiment: $(prog_FULL)
./$(prog_FULL)
$(prog_FULL): $(prog_OBJS) $(OBJS)
$(LINK.cc) $^ -o $@
-include $(DEP)
%.o: %.cpp
$(CXX) $(CXXFLAGS) -MMD -c $< -o $@
clean:
@- $(RM) $(prog_FULL)
@- $(RM) $(prog_OBJS)
@- $(RM) $(OBJS)
@- $(RM) $(DEP)
File added
#include "BankAccount.h"
#include "DataSetBankAccount.h"
#include <iostream>
using namespace std;
int main()
{
BankAccount b1;
b1.deposit(300);
BankAccount b2;
b2.deposit(100);
DataSetBankAccount ds;
ds.add(b1);
ds.add(b2);
cout << "average = " << ds.getAverage() << "\n";
cout << "maximum = " << ds.getMaximum() << "\n";
return 0;
}
#ifndef BANKACCOUNT_H
#define BANKACCOUNT_H
#include <iostream>
class BankAccount
{
public:
BankAccount();
void deposit(double amount);
void withdraw(double amount);
double getBalance();
friend std::ostream& operator<< (std::ostream &out, const BankAccount &ba);
private:
double balance;
};
#endif
#ifndef DATASETBANKACCOUNT_H
#define DATASETBANKACCOUNT_H
#include "BankAccount.h"
class DataSetBankAccount
{
private:
double sum;
BankAccount maximum;
int count;
public:
DataSetBankAccount();
void add(BankAccount x);
double getAverage();
BankAccount getMaximum();
};
#endif
#include "BankAccount.h"
BankAccount::BankAccount()
{
this->balance = 0.0;
}
void BankAccount::deposit(double amount)
{
this->balance += amount;
}
void BankAccount::withdraw(double amount)
{
this->balance -= amount;
}
double BankAccount::getBalance()
{
return balance;
}
std::ostream& operator<< (std::ostream &out, const BankAccount &ba)
{
//From http://www.learncpp.com/cpp-tutorial/93-overloading-the-io-operators/
out << "BankAccount(" << ba.balance << ") ";
return out;
}
#include "DataSetBankAccount.h"
#include "BankAccount.h"
DataSetBankAccount::DataSetBankAccount() : maximum()
{
this->sum = 0.0;
this->count = 0;
}
void DataSetBankAccount::add(BankAccount x)
{
this->sum += x.getBalance();
if (count == 0 || maximum.getBalance() < x.getBalance()) maximum = x;
count++;
}
double DataSetBankAccount::getAverage()
{
if (count == 0) return 0;
else return sum/count;
}
BankAccount DataSetBankAccount::getMaximum()
{
return maximum;
}
SRC_DIRS := src
C_SRCS := $(foreach srcdir,$(SRC_DIRS),$(wildcard $(srcdir)/*.c))
CXX_SRCS := $(foreach srcdir,$(SRC_DIRS),$(wildcard $(srcdir)/*.cpp))
C_OBJS := ${C_SRCS:.c=.o}
CXX_OBJS := ${CXX_SRCS:.cpp=.o}
OBJS := $(C_OBJS) $(CXX_OBJS)
INCLUDE_DIRS := include
LIBRARY_DIRS :=
LIBRARIES :=
prog_NAME := experiment
prog_DIR := bin
prog_FULL := $(prog_DIR)/$(prog_NAME)
prog_SRC_DIRS := experimentation
prog_C_SRCS := $(foreach srcdir,$(prog_SRC_DIRS),$(wildcard $(srcdir)/*.c))
prog_CXX_SRCS := $(foreach srcdir,$(prog_SRC_DIRS),$(wildcard $(srcdir)/*.cpp))
prog_C_OBJS := ${prog_C_SRCS:.c=.o}
prog_CXX_OBJS := ${prog_CXX_SRCS:.cpp=.o}
prog_OBJS := $(prog_C_OBJS) $(prog_CXX_OBJS)
prog_INCLUDE_DIRS :=
prog_LIBRARY_DIRS :=
prog_LIBRARIES :=
all_OBJS := $(OBJS) $(prog_OBJS) $(test_OBJS)
DEP := $(all_OBJS:%.o=%.d)
CXXFLAGS += -std=c++11
CXXFLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir))
LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir))
LDFLAGS += $(foreach library,$(LIBRARIES),-l$(library))
.PHONY: experiment src clean
experiment: CXXFLAGS += $(foreach includedir,$(prog_INCLUDE_DIRS),-I$(includedir))
experiment: LDFLAGS += $(foreach librarydir,$(prog_LIBRARY_DIRS),-L$(librarydir))
experiment: LDFLAGS += $(foreach library,$(prog_LIBRARIES),-l$(library))
experiment: $(prog_FULL)
./$(prog_FULL)
$(prog_FULL): $(prog_OBJS) $(OBJS)
$(LINK.cc) $^ -o $@
-include $(DEP)
%.o: %.cpp
$(CXX) $(CXXFLAGS) -MMD -c $< -o $@
clean:
@- $(RM) $(prog_FULL)
@- $(RM) $(prog_OBJS)
@- $(RM) $(OBJS)
@- $(RM) $(DEP)
File added
#include "PointT.h"
#include "DataSetPoint.h"
#include <iostream>
using namespace std;
int main()
{
DataSetPoint ds;
ds.add(PointT(0.0, 0.0));
ds.add(PointT(3.0, 4.0));
ds.add(PointT(7.0, 24.0));
ds.add(PointT(5.0, 12.0));
cout << "average = " << ds.getAverage() << "\n";
cout << "maximum = " << ds.getMaximum() << "\n";
return 0;
}
#ifndef DATASETPOINT_H
#define DATASETPOINT_H
#include "PointT.h"
class DataSetPoint
{
private:
double sum;
PointT maximum;
int count;
public:
DataSetPoint();
void add(PointT x);
double getAverage();
PointT getMaximum();
};
#endif
#ifndef POINTT_H
#define POINTT_H
#include <iostream>
class PointT
{
public:
PointT(double x, double y);
double xcoord();
double ycoord();
double distToOrigin();
friend std::ostream& operator<< (std::ostream &out, const PointT &point);
private:
double xc;
double yc;
};
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment