C++ 我的包编译后,get函数可以工作,但它打印的是一个随机数
在我的包编译时,get函数可以工作,但它会打印一个随机数。有什么想法吗C++ 我的包编译后,get函数可以工作,但它打印的是一个随机数,c++,C++,在我的包编译时,get函数可以工作,但它会打印一个随机数。有什么想法吗 #ifndef Package_H #define Package_H #include <string> using namespace std; //The class Package is the base class for derived classes TwoDayPackage and OverNightPackage class Package //begins class Packag
#ifndef Package_H
#define Package_H
#include <string>
using namespace std;
//The class Package is the base class for derived classes TwoDayPackage and OverNightPackage
class Package //begins class Package
{
public:
Package(const string &, const string &, const string &, const string &, const string &, const string &, const string &, const string &, const string &, const string &, double = 0.0, double = 0.0); //constructor
//set and get functions for sender
void setSenderName(const string &);
string getSenderName() const;
void setSenderAddress(const string &);
string getSenderAddress() const;
void setSenderCity(const string &);
string getSenderCity() const;
void setSenderState(const string &);
string getSenderState() const;
void setSenderZip(const string &);
string getSenderZip() const;
//set and get functions for recipient
void setRecipientName(const string &);
string getRecipientName() const;
void setRecipientAddress(const string &);
string getRecipientAddress() const;
void setRecipientCity(const string &);
string getRecipientCity() const;
void setRecipientState(const string &);
string getRecipientState() const;
void setRecipientZip(const string &);
string getRecipientZip() const;
void setWeight(double);
double getWeight() const;
void setShip(double);
double getShip() const;
double calculateCost() const;
void print() const;
private:
string senderName;
string senderAddress;
string senderCity;
string senderState;
string senderZip;
string recipientName;
string recipientAddress;
string recipientCity;
string recipientState;
string recipientZip;
double weight;
double shipCost;
};
#endif
\ifndef包
#定义包
#包括
使用名称空间std;
//类包是派生类TwoDayPackage和OverNightPackage的基类
类包//开始类包
{
公众:
包(常量字符串&,常量字符串&,常量字符串&,常量字符串&,常量字符串&,常量字符串&,常量字符串&,常量字符串&,常量字符串&,常量字符串&,double=0.0,double=0.0);//构造函数
//设置和获取发送器的函数
void setSenderName(常量字符串&);
字符串getSenderName()常量;
void setSenderAddress(常量字符串&);
字符串getSenderAddress()常量;
无效设置属性(常量字符串&);
字符串getSenderCity()常量;
void setSenderState(常量字符串&);
字符串getSenderState()常量;
void setSenderZip(常量字符串&);
字符串getSenderZip()常量;
//为收件人设置和获取函数
void setRecipientName(常量字符串&);
字符串getRecipientName()常量;
void setRecipientAddress(常量字符串&);
字符串getRecipientAddress()常量;
void setRecipientCity(常量字符串&);
字符串getRecipientCity()常量;
void setRecipientState(常量字符串&);
字符串getRecipientState()常量;
void setRecipientZip(常量字符串&);
字符串getRecipientZip()常量;
空隙定重(双倍);
双getWeight()常量;
空心固定片(双);
双getShip()常量;
双重计算成本()常数;
无效打印()常量;
私人:
字符串发送器名称;
字符串发送地址;
字符串发送率;
字符串发送器状态;
字符串senderZip;
字符串recipientName;
字符串接收方地址;
字符串接收城市;
字符串接受状态;
字符串recipientZip;
双倍重量;
双重运费;
};
#恩迪夫
//下一页
#包括
使用名称空间std;
#包括“Package.h”
包装:包装(常量字符串和sname、常量字符串和鞍座、常量字符串和scity、常量字符串和sstate、常量字符串和szip、常量字符串和rname、常量字符串和raddress、常量字符串和rcity、常量字符串和rstate、常量字符串和rzip、双重、双运费)
{
senderName=sname;
senderAddress=saddress;
senderCity=scity;
senderState=ssState;
senderZip=szip;
recipientName=rname;
收件人地址=RadAddress;
接收城市=接收能力;
recipientState=rstate;
recipientZip=rzip;
设定重量(重量);
固定成本;
}
无效包::setSenderName(常量字符串和sname)
{
senderName=sname;
}
字符串包::getSenderName()常量
{
返回发送者名称;
}
无效包装::设置绳套(固定绳和鞍套)
{
senderAddress=saddress;
}
字符串包::getSenderAddress()常量
{
返回发送者地址;
}
无效包::setSenderCity(常量字符串和字符串)
{
senderCity=scity;
}
字符串包::getSenderCity()常量
{
返回发送城市;
}
无效包::setSenderState(常量字符串和ssState)
{
senderState=ssState;
}
字符串包::getSenderState()常量
{
返回发送者状态;
}
无效包::setSenderZip(常量字符串和szip)
{
senderZip=szip;
}
字符串包::getSenderZip()常量
{
返回senderZip;
}
void包::setRecipientName(常量字符串和rname)
{
recipientName=rname;
}
字符串包::getRecipientName()常量
{
返回接收方名称;
}
无效包::setRecipientAddress(常量字符串和raddress)
{
收件人地址=RadAddress;
}
字符串包::getRecipientAddress()常量
{
返回收件人地址;
}
无效包::setRecipientCity(常量字符串和rcity)
{
接收城市=接收能力;
}
字符串包::getRecipientCity()常量
{
回归城市;
}
void包::setRecipientState(常量字符串和rsState)
{
recipientState=rstate;
}
字符串包::getRecipientState()常量
{
返回接收方状态;
}
void包::setRecipientZip(常量字符串和rzip)
{
recipientZip=rzip;
}
字符串包::getRecipientZip()常量
{
返回收件人ZIP;
}
无效包装:设定重量(双倍重量)
{
重量=(重量<0.0)?0.0:重量;
}
双包::getWeight()常量
{
返回重量;
}
无效包装::固定芯片(双倍装运成本)
{
shipCost=(shipCost<0.0)?0.0:shipCost;
}
双包::getShip()常量
{
退货成本;
}
双包::calculateCost()常量
{
返回重量*运费;
}
无效包::print()常量
{
cout在设置程序中,您没有设置实例变量。例如:weight=(weight<0.0)?0.0:weight
只更改用于参数的临时变量。您可以更改参数的名称,也可以更改实例变量的名称(推荐),或者在setters中使用语法this->weight=…
,您没有设置实例变量。例如:weight=(weight<0.0)?0.0:weight
只更改用于参数的临时变量。您可以更改参数的名称,也可以更改实例变量的名称(推荐),或使用语法this->weight=…
这是家庭作业吗?如果是,请将其标记为这样,以便我们可以给您提供更合适的答案。没有多少人会希望通读所有这些代码来猜测您的问题在哪里,更不用说为您调试了。展示一些努力:尝试将您的问题提炼为可重复的案例这需要十行或十五行来证明你的问题。(我几乎肯定这段代码的95%与你的问题毫无关系。)并试着用英语清楚地说明你的问题。(我不在乎你的英语是否差,只要试试。)这个能手/能手
//next page
#include <iostream>
using namespace std;
#include "Package.h"
Package::Package(const string & sname, const string & saddress, const string & scity, const string & sstate, const string & szip, const string & rname, const string & raddress, const string & rcity, const string & rstate, const string & rzip, double weight, double shipCost)
{
senderName = sname;
senderAddress = saddress;
senderCity = scity;
senderState = sstate;
senderZip = szip;
recipientName = rname;
recipientAddress = raddress;
recipientCity = rcity;
recipientState = rstate;
recipientZip = rzip;
setWeight(weight);
setShip(shipCost);
}
void Package::setSenderName(const string & sname)
{
senderName = sname;
}
string Package::getSenderName() const
{
return senderName;
}
void Package::setSenderAddress(const string & saddress)
{
senderAddress = saddress;
}
string Package::getSenderAddress() const
{
return senderAddress;
}
void Package::setSenderCity(const string & scity)
{
senderCity = scity;
}
string Package::getSenderCity() const
{
return senderCity;
}
void Package::setSenderState(const string & sstate)
{
senderState = sstate;
}
string Package::getSenderState() const
{
return senderState;
}
void Package::setSenderZip(const string & szip)
{
senderZip = szip;
}
string Package::getSenderZip() const
{
return senderZip;
}
void Package::setRecipientName(const string & rname)
{
recipientName = rname;
}
string Package::getRecipientName() const
{
return recipientName;
}
void Package::setRecipientAddress(const string & raddress)
{
recipientAddress = raddress;
}
string Package::getRecipientAddress() const
{
return recipientAddress;
}
void Package::setRecipientCity(const string & rcity)
{
recipientCity = rcity;
}
string Package::getRecipientCity() const
{
return recipientCity;
}
void Package::setRecipientState(const string & rstate)
{
recipientState = rstate;
}
string Package::getRecipientState() const
{
return recipientState;
}
void Package::setRecipientZip(const string & rzip)
{
recipientZip = rzip;
}
string Package::getRecipientZip() const
{
return recipientZip;
}
void Package::setWeight(double weight)
{
weight = (weight < 0.0 ) ? 0.0 : weight;
}
double Package::getWeight() const
{
return weight;
}
void Package::setShip(double shipCost)
{
shipCost = ( shipCost < 0.0) ? 0.0 : shipCost;
}
double Package::getShip() const
{
return shipCost;
}
double Package::calculateCost() const
{
return weight * shipCost;
}
void Package::print() const
{
cout<<"Sender:"<<endl
<<senderName<<endl
<<senderAddress<<endl
<<senderCity<<", "<<senderState<<" "<<senderZip<<endl
<<endl
<<"Recepient:"<<endl
<<recipientName<<endl
<<recipientAddress<<endl
<<recipientCity<<", "<<recipientState<<" "<<recipientZip<<endl
<<endl
<<"Weight of package: "<<weight<<" oz."<<endl
<<"Type of delivery: Regular Delivery"<<endl
<<"Cost of package: $"<<calculateCost()<<endl;
}
//The class TwoDayPackage is the first derived class from class Package
//The class OverNightPackage is the second derived class from class Package
//main function
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
using std::setprecision;
#include "Package.h"
/*#include"overnighttest.h"
#include"twoday2.h"*/
//Test File
int main()
{
Package message("chris beyer","1 westwood circle","edison","nj","08820","mike b","1 westwood cirle","edison","nj","08820",10.00,1.50);
/*OverNightPackage box("John Doe", "789 Fire Street", "Hell", "MI", "48169", "Jane Doe", "987 Leg Sun Crossing", "Intercourse", "PA", "17534", 10.00, 1.50, .85);
TwoDayPackage parcel("John Doe", "789 Fire Street", "Hell", "MI", "48169", "Jane Doe", "987 Leg Sun Crossing", "Intercourse", "PA", "17534", 15.00, 1.05, 5.00);*/
cout << fixed << setprecision(2);
cout<<"Package delivery services program"<<endl
<<endl
<<"Cost per ounce for a package: $.50/ounce"<<endl
<<"Additional cost for two day delivery: $2.00/ounce"<<endl
<<"Additional cost for overnight delivery: $5.00/ounce"<<endl<<endl;
vector<Package*> myPackages;
Package *messagePtr=&message;
/*TwoDayPackage *TDpPtr=&TDp;
OvernightPackage *OpPtr=&Op;*/
myPackages.push_back(messagePtr);
/*myPackages.push_back(TDpPtr);
myPackages.push_back(OpPtr);*/
double total=0;
for(int i=0;i<myPackages.size();i++)
{
cout<<"Package #"<<i+1<<":"<<endl<<endl;
(*myPackages[i]).print();
cout<<endl;
total+=(*myPackages[i]).calculateCost();
}
cout<<"Total cost for all the packages: $"<<total<<endl;
system("pause");
return 0;
}