错误 预期非限定 id 和预期 )
Error Expected unqualified-id and Expected )
由于某种原因,我遇到了几个错误,但我认为这与我评论的代码有关。有人可以帮助我,因为我一遍又一遍地收到同样的错误。我的代码应该回答以下问题://创建一个名为 Package 的类,它应该具有包重量和包跟踪号的成员变量。添加函数以访问这些变量并在构造函数中设置它们。添加一个函数来计算运费,使用公式 成本=每磅 3 美元
为盒形包创建一个名为 Box 的派生类。它应以英寸为单位存储高度、宽度和深度的尺寸。Redfine函数以计算运费,如果最长长度+周长大于108英寸,则在正常成本中增加30
编写一个 main 函数,用于创建一个盒子,分配重量高度宽度和深度并打印运费
#include <iostream>
#include <string>
using namespace std;
namespace shipping
{
const double COST_PER_POUND=3.0;
class Package
{
public:
Package();//default constructor
Package(double new_weight, string new_tracking_num);
double get_weight() const;//accessors
string get_tracking_num() const;//accessors
void set_weight(double new_weight);
void set_tracking_num(string new_tracking_num);
double cal_shipping() const;
private:
double weight;
string tracking_num;
};
}
#include <string>
#include "Package.h"
using namespace std;
namespace shipping
{
Package::Package(): tracking_num(""), weight(0)
{
}
Package::Package(double new_weight, string new_tracking_num):
tracking_num(new_tracking_num), weight(new_weight)
{
}
double Package::get_weight() const
{
return weight;
}
string Package::get_tracking_num() const
{
return tracking_num;
}
void Package::set_weight(double new_weight)
{
weight=new_weight;
}
void Package::set_tracking_num(string new_tracking_num)
{
tracking_num= new_tracking_num;
}
double Package::cal_shipping() const
{
return weight*COST_PER_POUND;
}
}
#include <string>
#include "Package.h"
using namespace std;
namespace shipping
{
class Box : public Package{
public:
Box();
Box(double new_weight, string new_tracking_num,
double new_width, double new_height,double new_depth);
void set_dimension(double new_width, double new_height, double new_depth);
void get_dimensions(double &cur_width, double &cur_height, double &cur_depth);
double calc_shipping() const;
private:
double width, height, depth;
};
}
#include "Box.h"
#include <string>
using namespace std;
namespace shipping
{
Box::Box(): Package(),height(0),depth(0),width(0)
{
}
//my error comes here
Box(double new_weight, string new_tracking_num,
double new_width,double new_height,double new_depth):
Package(new_weight, new_tracking_num), height(new_height), depth(new_depth), width(new_width)
{
}
void Box::set_dimension(double new_width, double new_height, double new_depth)
{
width=new_width;
height=new_height;
depth=new_depth;
}
void Box::get_dimensions(double &cur_width, double &cur_height, double &cur_depth)
{
cur_width=width;
cur_height=height;
cur_depth=depth;
}
double calc_shipping() const{
double longest=width;
double girth=(height*2)+(2*depth);
if(height>longest)
{
longest=height;
girth=(width*2)+(2*depth);
}
if(depth>longest)
{
longest=depth;
girth=(height*2)+(2*width);
}
if(longest+girth>108)
{
return Package::cal_shipping()+30;
}
else
{
return Package::calc_shipping();
}
}
}
我在您的代码中看到以下问题:
- 在
构造函数中,初始化成员变量的顺序与它们在类中的显示顺序不同。
例:
在类
Package
中,您有以下变量:double weight; string tracking_num;
在构造函数中,先初始化
tracking_num
,然后再初始化weight
。 例:Package::Package(): tracking_num(""), weight(0) { }
它切换初始化顺序,因为这是一项要求。由于编译器正在更改代码的执行顺序,因此它会警告您。
你有更多的这样的例子,在
Package
和Box
.您忘记在几个函数中添加类范围
Box::
。Box(double new_weight, string new_tracking_num, double new_width, double new_height,double new_depth):
需要
Box::Box(double new_weight, string new_tracking_num, double new_width, double new_height,double new_depth):
和
double calc_shipping() const{
需要
double Box::calc_shipping() const{
您在三个地方拼错了
calc_shipping()
并使用了cal_shipping
(缺少"c")。
相关文章:
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- 方法内部但循环仍得到预期的不合格id错误C++
- Xcode 9.4.1 中的 Apple Mach-O 链接器 (id) 错误
- 错误:令牌 { '{' 之前应存在非限定 ID
- DCMTK 了解"DIMSE 没有有效的演示上下文 ID"错误
- C++中的"expected unqualified-id"错误是什么?
- c++ for 循环中预期的非限定 id 错误
- 在"." 令牌之前应为非限定 ID(C++ 错误)
- 预期"{"错误?以及预期的未指定 ID 错误?
- 错误:预期的非限定 ID 错误:含义和修复
- 安卓-NDK-R7C "deque.h"中的非限定 ID 错误
- 预期的不合格id错误,很可能是原因
- 意外的非限定 ID 错误
- C++中类出现预期的不合格id错误
- 出现意外的非限定id错误
- iOS中出现不合格的id错误
- XSLT到HTML的转换.Qt5中的generate-id()错误
- 不合格的id错误和井字游戏板不工作
- 传递结构体数组的预期非限定id错误
- 如何执行项目范围内的唯一id /错误代码,以便在源代码中轻松找到错误的来源