|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2008
Messaggi: 40
|
[C++] Integer non correttamente intepretato
Ciao a tutti,
sono alle prese con una bibbia Apogeo del c++. Negli esercizi mi viene richiesto di creare un programma come di seguito. Non ho capito perché se eseguo il programma il terzo argomento int che il costruttore dovrebbe passare al dato membro (variabile int quantity) non viene interpretato come scritto ma in output mi viene restituito un numero negativo enorme. Potete darmi un'aiuto? Ringrazio anticipatamente tutti, unslee Codice:
//File private.cpp
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
#include "stdafx.h"
#include<string>
using std::string;
// Vediamo un pò costruttori e funzioni membro di questo programma!
Invoice::Invoice( string intcode1, string description1, int quantity1 )
{
setIntcode( intcode1 );
setDescription( description1 );
setItemQty( quantity1 );
}
void Invoice::setIntcode( string intcode2 )
{
intcode = intcode2;
}
string Invoice::getIntcode()
{
return intcode;
}
void Invoice::setDescription( string description2 )
{
description = description2;
}
string Invoice::getDescription()
{
return description;
}
void Invoice::setItemQty( int quantity2 )
{
quantity2 = quantity;
}
int Invoice::getItemQty()
{
return quantity;
}
//file stdafx.h
// stdafx.h : file di inclusione per file di inclusione di sistema standard
// o file di inclusione specifici del progetto utilizzati di frequente, ma
// modificati raramente
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
#include<string>
using std::string;
// TODO: fare riferimento qui alle intestazioni aggiuntive richieste dal programma
//Definizione della classe Invoice
class Invoice
{
public:
Invoice( string, string, int );
void setIntcode( string );
void setDescription( string );
void setItemQty( int );
string getIntcode();
string getDescription();
int getItemQty();
private:
string intcode;
string description;
int quantity;
};
//file esercizio313.cpp
// Esercizio313.cpp : definisce il punto di ingresso dell'applicazione console.
#include "stdafx.h"
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
using std::getline;
#include<string>
using std::string;
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
int main()
{
Invoice invoice1("prova" , "prova2", 1000 );
cout << "invoice1 creato con intcode " << invoice1.getIntcode() << " e con description " << invoice1.getDescription() << " e con quantita' " << invoice1.getItemQty() << endl;
return 0;
}
Ultima modifica di cionci : 24-06-2008 alle 15:57. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Perché Invoice::quantity non viene mai scritto. Leggi bene la setItemQty.
E per favore usa i tag [code]!
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jun 2008
Messaggi: 40
|
Grazie mille!
Ora tutto mi è chiaro. La prossima volta mi ricorderò sicuramente di usare i tag (perdona la dimenticanza!) Grazie ancora, Unslee |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:39.



















