[C++ beginner] class werkt niet.

Status
Niet open voor verdere reacties.

cbeginner

Gebruiker
Lid geworden
29 jan 2008
Berichten
8
Goedendag.

ik ben een totale beginner in C++ heb inmiddels al wel flink wat tutorials gevolgd van www.cprogramming.com.

daar was ik toe aan een tutorial over classes. nu heb ik die doorgelezen en toen geprobeerd aan de hand van het voorbeeld zelf een class te schrijven.maar dit wil nog niet lukken want ik krijg steeds een paar standaard errors die ik niet 1,2,3 weet weg te werken. dus kwam ik hier terecht.omdat jullie ijn mischien kunnen helpen.

uitleg programma:

mijn opzet is om een klein console aplication te maken. waar je een naam kan invoeren en die het daarna weergeeft op het scherm. En dit met behulp van een Class.

foutmeldingen:

ik werk met Microsoft Visual C++ 2008 Express Edtion. en in de output venster krijg ik deze errors als ik het programma wil starten:

Code:
1>------ Build started: Project: tutorialClass, Configuration: Debug Win32 ------
1>Compiling...
1>tutorialClass.cpp
1>c:\arjen\werk\tutorialclass\tutorialclass\tutorialclass.cpp(26) : error C2761: '{ctor}' : member function redeclaration not allowed
1>c:\arjen\werk\tutorialclass\tutorialclass\tutorialclass.cpp(27) : error C2447: '{' : missing function header (old-style formal list?)
1>c:\arjen\werk\tutorialclass\tutorialclass\tutorialclass.cpp(48) : error C2664: 'namen::voerinnaam' : cannot convert parameter 1 from 'const char [6]' to 'char'
1>        There is no context in which this conversion is possible
1>Build log was saved at "file://c:\arjen\werk\tutorialClass\tutorialClass\Debug\BuildLog.htm"
1>tutorialClass - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Applicatie Code:
dit is de code van mijn applicatie:
Code:
// TutoirialClasses.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>

using namespace std;

class namen
{
public: 

namen();  //constructor
~namen(); //deconstructor

	void voerinnaam(char x); // functie voor invoegen naam.
	char leesuitnaam(); //functie voor uitlezen naam.

protected:

char naam; //declaratie variabele die de naam bevat.

};
// ## einde Class

namen::namen(); //klaar wordt geopend.
{
	char naam =""; 
}
namen::~namen()
{
	//empty
}

void namen::voerinnaam(char x)
{
	naam= x; //de waarde van X is de waarde van variabele naam.
}

char namen::leesuitnaam()
{
	return naam; // de variabele 
}

		int main()
		{
			namen testnaam; // class/object maakt nieuwe gebruiker aan.
			testnaam.voerinnaam("jelte");
			cout<<testnaam.leesuitnaam();
		}

Wie o wie ziet wat ik fout doe en kan mijn uitleggen waarom en hoe ik dit eventueel kan verhelpen? als je tips of trucs hebt altijd welkom :D

PS: weten jullie nog goede nederlands talige C++ tutorials waar classes goed worden uitgelegd?

met vriendelijke groet

cbeginner
 
Laatst bewerkt:
error zei:
'namen::voerinnaam' : cannot convert parameter 1 from 'const char [6]' to 'char'
Een variabele van het type char kan maar 1 karakter bevatten, maar je roept voerinnaam een met een volledige string (of een char array), vandaar de char[6] in de foutmelding.

Ofwel maak je van je argument een string (en moet je de header <string> includen), ofwel maak je eer een character-array van (eventueel adhv pointers, moest je die al kennen).
De eerste optie lijkt me de meest voor de hand liggende.
 
Daarnaast heb je hier nog een puntkomma teveel staan achter de constructor:
Code:
namen::namen(); //klaar wordt geopend.
{
Hier hoor net als bij een functie geen puntkomma te staan.
 
Als het nu werkt, misschien een tip voor uitbreiding:

Probeer wat meer interactie in te bouwen (laat de gebruiker bijvoorbeeld zijn naam invoeren, en sta meerdere gebruikers toe e.d.). Op die manier leer je niet alleen met klassen om te gaan, maar krijg je ook het gevoel erin (en wordt het leuker..... vind ik)

But it's just a TIP:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan