есть файл хедер:
#pragma once
class element1{
public:
virtual float GetCurrent(float Potential1, float Potential2,float frequency);
virtual float GetVoltage(float Current,float frequency);
};
class resistive: public element1{
float value_of_resistive;
resistive(float value);
};
и есть собственно файл с кодом
#include "stdafx.h"
resistive::resistive(float value){value_of_resistive = value;}
resistive::GetCurrent(float Potential1, float Potential2,float frequency){return 0;}
float element1::GetCurrent(float Potential1, float Potential2,float frequency){return 0;};
float element1::GetVoltage(float Current,float frequency){return 0;};
в результате ругается на "resistive::GetCurrent(float Potential1, float Potential2,float frequency){return 0;}" функция не определена в хэдаре, но как я понимаю мы наследуемся от element1 и его функции нам доступны, если они определены как virtual мы можем их переопределить для нового класса...
и еще если из файла с кодом убрать:
float element1::GetCurrent(float Potential1, float Potential2,float frequency){return 0;};
float element1::GetVoltage(float Current,float frequency){return 0;};
то он ругается что функции не определены, хотя ни одного экземпляра данного класса не используется в программе.
Что я не правильное делаю? или что я не до понимаю?
добавлена разметка — Кодт