Czesc, cwicze sobie w wakacje c++. Mam taka klase:
Plik .h:
#pragma once
#include<iostream>
using namespace std;
#include <string>
class zespolone
{
private:
double re;
double im;
string nazwa;
public:
//KONSTRUKTORY
/*explicit*/ zespolone(double rr=0, double ii=0, string nn = "Anonim"); //explicit zeby konstruktor nie byl uzywany jako konwerter
zespolone(const zespolone& zrodlo); //konstruktor kopiujacy
//DESTRUKTOR
~zespolone(void);
//OPERATORY
zespolone& operator=(const zespolone& zrodlo) //operator przypisania //& - dzieki niemu przypisanie kaskadowe (a+b+c...+n)
{
//sprawdzenie czy to nie to samo
if(this==&zrodlo) return *this;
re = zrodlo.re;
im= zrodlo.im;
cout<<"W akcji byl operator przypisania"<<endl;
return *this;
}
//operatory konwersji
operator double() //konwersja operatorowa na double
{
cout<<"W akcji byl operator konwersji double"<<endl;
return re;
}
operator int() //konwersja operatorowa na intiger
{
cout<<"W akcji byl operator konwersji int"<<endl;
return (int)re;
}
//FUNKCJE
void pokaz() //wypisuje dane liczby zespolonej na ekran
{
cout<<nazwa<<", czesc rzeczywista: "<<re<<", czesc urojona: "<<im<<endl;
}
void NowaNazwa(string nowa) //zmienia nazwe danej liczby zespolonej
{
nazwa = nowa;
}
zespolone dodaj(zespolone pierwsza, zespolone druga);
};
**Plik .cpp: **
#include "StdAfx.h"
#include "zespolone.h"
zespolone::zespolone(double rr, double ii, string nn): re(rr), im(ii), nazwa(nn)
{
cout<<endl<<"uzyto konstruktora z dwoma argumentami domniemanymi"<<endl;
}
zespolone::zespolone(const zespolone& zrodlo)
{
nazwa = zrodlo.nazwa;
re = zrodlo.re;
im = zrodlo.im;
cout<<endl<<"Uzyto konstruktora kopiujacego"<<endl;
}
zespolone::~zespolone(void)
{
cout<<endl<<"Do akcji wkroczyl destruktor"<<endl;
}
zespolone zespolone::dodaj(zespolone pierwsza, zespolone druga)
{
zespolone rezultat(0,0,"rezultat");
rezultat.re = pierwsza.re + druga.re;
rezultat.im = pierwsza.im + druga.im;
return rezultat;
}
Probuje uzyc funkcji dodaj w mainie i wyskakuje mi ze:
1)error C3861: 'dodaj':identifer not found
2)IntelliSense: identifer "dodaj" is undefinded
Czemu to nie dziala?