C++ 错误:标识符类名称未定义?所有的课程都有这个我';我在档案里做了些什么
这是密码C++ 错误:标识符类名称未定义?所有的课程都有这个我';我在档案里做了些什么,c++,C++,这是密码 #include <iostream> #include <string.h> using namespace std; int main() { class FIXML { private: Order Order_object = new Order(); public: Order getOrder_object() { return Order_object;
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
class FIXML {
private: Order Order_object = new Order();
public:
Order getOrder_object()
{
return Order_object;
}
void setOrder_object(Order Order_object)
{
this->Order_object = Order_object;
}
};
class Order {
public:
string ClOrdID = "123456";
string Side = "2";
string TransactTm = "2001-09-11T09:30:47-05:00";
string OrdTyp = "2";
string Px = "93.25";
string Acct = "26522154";
Hdr Hdr_object = Hdr();
Instrmt Instrmt_object = Instrmt();
OrdQty OrdQty_object = OrdQty();
public:
string getClOrdID()
{
return ClOrdID;
}
string getSide()
{
return Side;
}
string getTransactTm()
{
return TransactTm;
}
string getOrdTyp()
{
return OrdTyp;
}
string getPx()
{
return Px;
}
string getAcct()
{
return Acct;
}
Hdr getHdr_object()
{
return Hdr_object;
}
Instrmt getInstrmt_object()
{
return Instrmt_object;
}
OrdQty getOrdQty_object()
{
return OrdQty_object;
}
void setClOrdID(string ClOrdID)
{
this->ClOrdID = ClOrdID;
}
void setSide(string Side)
{
this->Side = Side;
}
void setTransactTm(string TransactTm)
{
this->TransactTm = TransactTm;
}
void setOrdTyp(string OrdTyp)
{
this->OrdTyp = OrdTyp;
}
void setPx(string Px)
{
this->Px = Px;
}
void setAcct(string Acct)
{
this->Acct = Acct;
}
void setHdr_object(Hdr Hdr_object)
{
this->Hdr_object = Hdr_object;
}
void setInstrmt_object(Instrmt Instrmt_object)
{
this->Instrmt_object = Instrmt_object;
}
void setOrdQty_object(OrdQty OrdQty_object)
{
this->OrdQty_object = OrdQty_object;
}
};
class Hdr {
private:
string Snt = "2001-09-11T09:30:47-05:00";
string PosDup = "N";
string PosRsnd = "N";
string SeqNum = "521";
Sndr Sndr_object = Sndr();
Tgt Tgt_object = Tgt();
public:
string getSnt()
{
return Snt;
}
string getPosDup()
{
return PosDup;
}
string getPosRsnd()
{
return PosRsnd;
}
string getSeqNum()
{
return SeqNum;
}
Sndr getSndr_object()
{
return Sndr_object;
}
Tgt getTgt_object()
{
return Tgt_object;
}
void setSnt(string Snt)
{
this->Snt = Snt;
}
void setPosDup(string PosDup)
{
this->PosDup = PosDup;
}
void setPosRsnd(string PosRsnd)
{
this->PosRsnd = PosRsnd;
}
void setSeqNum(string SeqNum)
{
this->SeqNum = SeqNum;
}
void setSndr_object(Sndr Sndr_object)
{
this->Sndr_object = Sndr_object;
}
void setTgt_object(Tgt Tgt_object)
{
this->Tgt_object = Tgt_object;
}
};
class Sndr {
private:
string ID = "AFUNDMGR";
public:
string getID()
{
return ID;
}
void setID(string ID)
{
this->ID = ID;
}
};
class Tgt {
private:
string ID = "ABROKER";
public:
string getID()
{
return ID;
}
void setID(string ID)
{
this->ID = ID;
}
};
class Instrmt {
private:
string Sym = "IBM";
string ID = "459200101";
string IDSrc = "1";
public:
string getSym()
{
return Sym;
}
string getID()
{
return ID;
}
string getIDSrc()
{
return IDSrc;
}
void setSym(string Sym)
{
this->Sym = Sym;
}
void setID(string ID)
{
this->ID = ID;
}
void setIDSrc(string IDSrc)
{
this->IDSrc = IDSrc;
}
};
class OrdQty {
private:
string Qty = "1000";
public:
string getQty()
{
return Qty;
}
void setQty(string Qty)
{
this->Qty = Qty;
}
};
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
类FIXML{
private:Order_object=new Order();
公众:
Order getOrder_对象()
{
返回订单对象;
}
void setOrder\u对象(Order\u对象)
{
此->订单\对象=订单\对象;
}
};
阶级秩序{
公众:
字符串ClOrdID=“123456”;
字符串侧=“2”;
string transact tm=“2001-09-11T09:30:47-05:00”;
字符串OrdTyp=“2”;
字符串Px=“93.25”;
字符串Acct=“26522154”;
Hdr Hdr_object=Hdr();
Instrmt Instrmt_object=Instrmt();
OrdQty OrdQty_对象=OrdQty();
公众:
字符串getClOrdID()
{
返回ClOrdID;
}
字符串getSide()
{
返回侧;
}
字符串getTransactTm()
{
返回Transact TM;
}
字符串getOrdTyp()
{
返回命令类型;
}
字符串getPx()
{
返回Px;
}
字符串getAcct()
{
返回账户;
}
Hdr getHdr_对象()
{
返回Hdr_对象;
}
Instrmt getInstrmt_对象()
{
返回Instrmt_对象;
}
OrdQty getOrdQty_对象()
{
返回OrdQuantity\u对象;
}
void setClOrdID(字符串ClOrdID)
{
这->ClOrdID=ClOrdID;
}
无效设置侧(字符串侧)
{
这个->侧面=侧面;
}
void setTransact-TM(字符串Transact-TM)
{
此->Transact-TM=Transact-TM;
}
void setOrdTyp(字符串OrdTyp)
{
此->命令类型=命令类型;
}
void setPx(字符串Px)
{
这个->Px=Px;
}
作废设置科目(字符串科目)
{
本->会计科目=会计科目;
}
void setHdr_对象(Hdr Hdr_对象)
{
此->Hdr\u对象=Hdr\u对象;
}
无效设置Instrmt_对象(Instrmt Instrmt_对象)
{
此->Instrmt_对象=Instrmt_对象;
}
无效设置OrdQty\u对象(OrdQty OrdQty\u对象)
{
此->订单数量对象=订单数量对象;
}
};
类Hdr{
私人:
字符串Snt=“2001-09-11T09:30:47-05:00”;
字符串PosDup=“N”;
字符串PosRsnd=“N”;
字符串SeqNum=“521”;
Sndr Sndr_object=Sndr();
Tgt Tgt_object=Tgt();
公众:
字符串getSnt()
{
返回Snt;
}
字符串getPosDup()
{
返回PosDup;
}
字符串getPosRsnd()
{
返回PosRsnd;
}
字符串getSeqNum()
{
返回SeqNum;
}
Sndr getSndr_对象()
{
返回Sndr_对象;
}
Tgt getTgt_对象()
{
返回Tgt_对象;
}
无效设置NT(字符串Snt)
{
这->Snt=Snt;
}
void setPosDup(字符串PosDup)
{
此->PosDup=PosDup;
}
void setPosRsnd(字符串PosRsnd)
{
这->PosRsnd=PosRsnd;
}
无效设置SeqNum(字符串SeqNum)
{
此->SeqNum=SeqNum;
}
void setSndr_对象(Sndr Sndr_对象)
{
此->Sndr\u对象=Sndr\u对象;
}
void setTgt_对象(Tgt Tgt_对象)
{
此->Tgt\U对象=Tgt\U对象;
}
};
类Sndr{
私人:
string ID=“AFUNDMGR”;
公众:
字符串getID()
{
返回ID;
}
void setID(字符串ID)
{
这个->ID=ID;
}
};
类Tgt{
私人:
string ID=“ABROKER”;
公众:
字符串getID()
{
返回ID;
}
void setID(字符串ID)
{
这个->ID=ID;
}
};
课堂教学{
私人:
字符串Sym=“IBM”;
字符串ID=“45920101”;
字符串IDSrc=“1”;
公众:
字符串getSym()
{
返回符号;
}
字符串getID()
{
返回ID;
}
字符串getIDSrc()
{
返回IDSrc;
}
无效设置符号(字符串符号)
{
这->Sym=Sym;
}
void setID(字符串ID)
{
这个->ID=ID;
}
void setIDSrc(字符串IDSrc)
{
此->IDSrc=IDSrc;
}
};
类别或数量{
私人:
字符串数量=“1000”;
公众:
字符串getQty()
{
退货数量;
}
无效设置数量(字符串数量)
{
此->数量=数量;
}
};
返回0;
}
我声明的所有类,无论是Order、Tgt、Sndr。每当我创建这些类的新实例时,都会出现错误“error:identifier classname未定义”
提前感谢尝试声明它们(a)在使用它们之前,以及(b)在任何功能之外:
#include <iostream>
class Test
{
public:
Test() { std::cout << "Test!" << std::endl; }
};
int main()
{
Test t;
}
完成后,您会发现这一行不正确:
private: Order Order_object = new Order();
不能像这样初始化类的成员。您需要在
构造函数
、复制构造函数
和赋值运算符
中执行此操作,然后在destructor
中进行清理。在使用类之前,您必须声明和/或定义类。不要在main
中声明类。那么我在哪里声明它们呢?@user2997745:将这两个注释合并,在使用它们之前声明它们,在main
之外:)酷,我正在这么做。
private: Order Order_object = new Order();