我正试图将东西存入矢量,但问题很少.这些是我的代码.
Animal.cpp
#include "Animal.h"
#include "Cattle.h"
#include "Sheep.h"
#include <iostream>
#include <string>
using namespace std;
Animal::Animal(int newid, double newweight, int yy, int mm, int dd, double newaccDose, char newsex)
{
id = newid;
weight = newweight;
yy = yy;
mm = mm;
dd = dd;
dose = newaccDose;
sex = newsex;
}
Animal::Animal()
{
id = 0;
weight = 0;
yy = 0;
mm = 0;
dd = 0;
dose = 0;
sex = ' ';
}
Animal::~Animal(){}
double Animal::getDaysDifference(){ …Run Code Online (Sandbox Code Playgroud) 我有四个.cpp文件,Animal, Cattle, Sheep, DrugAdmin.
Animal是父类Cattle,它有calcDose(),它计算剂量.DrugAdmin是主要功能.问题是,我想以calcDose()不同的方式使用函数(牛,羊),课堂calcDose()上不需要任何功能Animal.但是,每次我尝试使用时 calcDose(),它都会自动调用Animal类中的函数,即使我想在Cattle类下使用它.这是我到目前为止所做的代码.(我把它砍了)
Animal.cpp
#include "Animal.h"
#include <string>
using namespace std;
Animal::Animal(int newid, double newweight, int yy, int mm, int dd, char newsex, vector<Treatment> treatArray)
{
id = newid;
weight = newweight;
yy = yy;
mm = mm;
dd = dd;
accDose = 0;
sex = newsex;
}
double Animal::calcDose(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Cattle.cpp
#include "Cattle.h"
using …Run Code Online (Sandbox Code Playgroud) 我想在类参数中使用toString,但由于某种原因存在错误.代码是:
Animal.h
#include "Treatment.h"
#include "jdate.h"
#include <vector>
class Animal{
protected:
int id;
double weight;
int yy;
int mm;
int dd;
double accDose;
char sex;
vector<Treatment*> treatArray;
public:
Animal();
Animal(int newid, double newweight, int yy, int mm, int dd, char newsex, vector<Treatment*> treatArray);
~Animal();
};
Run Code Online (Sandbox Code Playgroud)
Treatment.h
#ifndef TRE_H
#define TRE_H
#include <string>
#include <sstream>
#include "jdate.h"
#include "Animal.h"
#include "Cattle.h"
#include "Sheep.h"
class Treatment{
private:
int id;
jdate dayTreated;
double dose;
public:
Treatment(int id,jdate dayTreated, double dose);
Treatment();
~Treatment();
string …Run Code Online (Sandbox Code Playgroud) 我宣称vector<test*> test1;是私人的,我想为此创建getter和setter.我试过了,
void setV(vector<test*> test1)
{
test1 = test1;
}
vector<test*> getV()
{
return test1;
}
Run Code Online (Sandbox Code Playgroud)
它有效,但它的工作非常奇怪.还有另一种方法吗?
谢谢