小编jca*_*los的帖子

不允许使用抽象类类型"Animal"的对象:(C++)

我正试图将东西存入矢量,但问题很少.这些是我的代码.

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)

c++ visual-c++

1
推荐指数
1
解决办法
2万
查看次数

使用父的函数(继承c ++)

我有四个.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)

c++ visual-c++

1
推荐指数
1
解决办法
386
查看次数

这在C++中是否可行?toString(ClassName*class)

我想在类参数中使用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)

c++ visual-c++

0
推荐指数
1
解决办法
254
查看次数

如何在C++中为vector创建getter和setter?

我宣称vector<test*> test1;是私人的,我想为此创建getter和setter.我试过了,

void setV(vector<test*> test1)
{
    test1 = test1;
}

vector<test*> getV()
{
    return test1;
}
Run Code Online (Sandbox Code Playgroud)

它有效,但它的工作非常奇怪.还有另一种方法吗?

谢谢

c++ visual-c++

0
推荐指数
1
解决办法
5754
查看次数

标签 统计

c++ ×4

visual-c++ ×4