私の.exeは私にゼロを与えているので、データ型が正しくキャストされていないと推測しています。申し訳ありませんが、c ++は初めてで、cから来ました。cでこの問題が発生したときはいつでも、通常何かが切り捨てられましたが、何が間違っていたのかわかりません。
//shape.h
#ifndef SHAPE_H
#define SHAPE_H
class shape
{
public:
shape();
virtual float area()=0;
};
#endif SHAPE_H
//shape.cpp
#include <iostream>
#include "shape.h"
using namespace std;
shape::shape()
{
}
//triangle.h
#include"shape.h"
class triangle: public shape
{
public:
triangle(float,float);
virtual float area();
protected:
float _height;
float _base;
};
//triangle.cpp
#include "triangle.h"
triangle::triangle(float base, float height)
{
base=_base;
height=_height;
}
float triangle::area()
{
return _base*_height*(1/2);
}
//main.cpp
#include <iostream>
#include "shape.h"
#include "triangle.h"
using namespace std;
int main()
{
triangle tri(4,2);
cout<<tri.area()<<endl;
return 0;
}
何らかの理由で、4 を取得する必要があるときに、exe でゼロを取得しています。