C++ voor echte programeurs

Status
Niet open voor verdere reacties.

bagyman

Gebruiker
Lid geworden
20 dec 2005
Berichten
27
hoi menzennn,

ik heb hier een echt ingewikkeld probleem. ik heb een programmatje geschreven in BORLAND 6 dus let op...

open eerst builder >> open project 1 >> en open daarna unit1...

als ik het programma start voer ik wel de waarden in maar ik krijg een fout... kijk maar even ernaar... alleen als je echt goed bent... :) :) :)

En kun je het aanpassen en weer als bijlage toevoegen dan kan ik het zien hoe en wat en of die werkt

tnx
 

Bijlagen

Ik wil best kijken of ik je kan helpen, maar heb geen borland geinstalleerd. Kun je niet gewoon de probleemcode posten en aangeven wat er fout gaat?
 
Geplaatst door Sauria
Ik wil best kijken of ik je kan helpen, maar heb geen borland geinstalleerd. Kun je niet gewoon de probleemcode posten en aangeven wat er fout gaat?

Wil ik best doen maar dan moet ik uit een paar keer doen namelijk borland 6 werk met projecten... er zijn 2 onderdelen :

project1 en unit 1 en die hebben allebei 2 brond codes maar ik zal effen kijken en zet ze appart
 
van man.cpp:

//---------------------------------------------------------------------------
#pragma hdrstop
#include "main.h"
#include "Unit1.h"
#include <iostream>
using namespace std;
//---------------------------------------------------------------------------

void main()
{
int a=0,y=0,m=0,n=0,x=0,b=0;
reken* c;
cout<<"geef hier de waarde van m"<<endl;
cin>>m;
cout<<"geef hier de waarde van n"<<endl;
cin>>n;
c->berekenA(m, n);

cout<<"geef hier de waarde van x"<<endl;
cin>>x;
cout<<"geef hier de waarde van b"<<endl;
cin>>b;
c->berekenY(a,x,b);

cout<<"de waarde van a="<<c->GetA()<<endl;
cout<<"de waarde van y="<<c->GetY()<<endl;
cin.get();
}

#pragma package(smart_init)



en van unit1.cpp

#pragma hdrstop
#include "Unit1.h"

//---------------------------------------------------------------------------

void reken::berekenA(int t, int s)
{
a=(t*s);
}

void reken::berekenY(int a, int x, int b)
{
y=(a*x*b);
}

reken::GetA() const
{
return a;
}

reken::GetY() const
{
return y;
}
#pragma package(smart_init)


en un it1.h hoort erbij voor public en private:

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------

class reken
{
private: int a;
int y;

public: void berekenA(int, int);
void berekenY(int, int, int);
GetA() const;
GetY() const;
};

#endif


zo ziet het uit in de borland... als je het in een Kladblok kan zetten en dat die werkt wil ik graag weten..!!!:thumb:
 
Je hebt getA() en getY als const functies gedeclareerd. Const bij een functie wil zeggen dat deze geen argumenten accepteert én void oplevert. In jouw geval geef je in de functies een 'return a' en 'return y'. Dit lijkt me in strijd staan met de const definitie. Volgens mij moeten getA() en getY() dan ook een int als return type hebben.
 
Geplaatst door Sauria
Je hebt getA() en getY als const functies gedeclareerd. Const bij een functie wil zeggen dat deze geen argumenten accepteert én void oplevert. In jouw geval geef je in de functies een 'return a' en 'return y'. Dit lijkt me in strijd staan met de const definitie. Volgens mij moeten getA() en getY() dan ook een int als return type hebben.

Ik heb const afgehaald maar dan leest hij het toch niet hij leest hem fout...
 
hij gaat fout bij het uitvoeren als je waarden a en m invoert krijg je melding dat ik bijlage heb toegevoegd...
 
Die fout heeft niet met jouw code te maken, maar met de instellingen van C++ builder. Die heb ik zelf niet, dus daar weet ik verder niets vanaf.
Misschien dat iemand anders hier op het forum er iets van weet, anders moet je maar op google zoeken op EAccessViolation en c++ builder, dan zul je zien dat je niet de enige bent met dit probleem.
 
nou bij 3 andere is er ook hetzelfde probleem dus... nou ja ik geef het op :)... het kan toch dus nie
 
IK HEB HET GEVONDEN HEHEH ...

ik heb bij reken* c poniter gemaakt die nergens naartoe wijst dus FFFFF of zo en er moet een class worden verwezen van het object dus:

reken* c=new reken();

hahahaha

tnx alll
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan