Не понимаю наследование?
От: Аноним  
Дата: 25.09.09 22:06
Оценка:
есть файл хедер:
#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;};

то он ругается что функции не определены, хотя ни одного экземпляра данного класса не используется в программе.
Что я не правильное делаю? или что я не до понимаю?
добавлена разметка — Кодт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.