Compile

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
pasxal
Δημοσιεύσεις: 83
Εγγραφή: 16 Απρ 2010 04:39

Compile

Δημοσίευση από pasxal » 07 Δεκ 2010 18:18

Κώδικας: Επιλογή όλων

#include <iostream>
#include <string.h>

using namespace std;

class Vehicle
&#123;
	protected&#58;
		float weight,speed;
	public&#58;
		Vehicle&#40;&#41;;
		Vehicle&#40;float _weight&#41;&#123;weight=_weight;&#125;
		Vehicle&#40;float _weight, float _speed&#41;&#123;weight=_weight; speed=_speed;&#125;
&#125;;		

class Truck &#58; public Vehicle
&#123;
	private&#58;
		char *name;
	public&#58;
		Truck&#40;char *_name,float _weight, float _speed&#41;;
		
&#125;;

Truck&#58;&#58;Truck&#40;char *_name,float _weight, float _speed&#41;
&#123;
	strcpy&#40;name, _name&#41;;
	weight = _weight;
	speed = _speed;
&#125;

int main&#40;int argc, char *argv&#91;&#93;&#41;
&#123;
	return 0;
&#125;
Καμιά ιδέα τι μπορεί να φταίει;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Compile

Δημοσίευση από dva_dev » 07 Δεκ 2010 20:46

Εχεις δηλώσει default constructor (αυτόν χωρίς παραμέτρους) για το Vehicle, αλλά δεν του δίνεις την υλοποίηση.

Το πιο απλό που μπορείς να κάνεις είναι να αλλάξεις το

Κώδικας: Επιλογή όλων

Vehicle&#40;&#41;;
σε

Κώδικας: Επιλογή όλων

Vehicle&#40;&#41; &#123;weight=speed=0;&#125;
Η γνώμη μου είναι να μην αφήσεις την υλοποίηση κενή, αλλά πάντα να αρχικοποιείς όλες τις member μεταβλητές σου.

Άβαταρ μέλους
pasxal
Δημοσιεύσεις: 83
Εγγραφή: 16 Απρ 2010 04:39

Compile

Δημοσίευση από pasxal » 07 Δεκ 2010 21:17

Η πλάκα είναι ότι όταν ξεχνάς κάποια χαζά πράγματα δν μπορείς να ανοίξεις τα μάτια και να τα βρεις. Επίσης ο compiler δεν βοηθάει γιατί δν βγάζει τι πρόβλημα υπάρχει...

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες