C++未声明的类错误
C++ Undeclared Class Error
我是C++的新手,正在尝试学习类,但遇到了一些小代码。我已经做了一个LIBRARYITEM类及其给出的错误。我使用了两个公共函数INPUT()
,它接受输入,PURCHASE()
询问用户他希望购买多少本书。这是代码-
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
LIBRARYITEM LIBRARYITEM;
LIBRARYITEM.INPUT();
LIBRARYITEM.PURCHASE();
}
class LIBRARYITEM
{
public:
void INPUT();
void PURCHASE();
private:
int ITEM_NO;
char ITEMTITLE;
float PRICE;
int TOTALCOAST(int N);
};
void LIBRARYITEM::INPUT() {
cout << "PLease input item no. - ";
cin >> ITEM_NO;
cout << "Please input title- ";
cin >> ITEMTITLE;
// We will assume price that per copy is 100$
PRICE = 100;
}
void LIBRARYITEM::PURCHASE() {
cout << "How many copies you wish to buy - ";
int N;
cin >> N;
cout << "Total cost for books is - ";
cout << TOTALCOAST(N);
}
int LIBRARYITEM::TOTALCOAST(int N) {
return N * PRICE;
}
错误日志是-
Error 1 error C2065: 'LIBRARYITEM' : undeclared identifier z:csci 125projectsproject1project1source.cpp 8 1 Project1
Error 2 error C2146: syntax error : missing ';' before identifier 'LIBRARYITEM' z:csci 125projectsproject1project1source.cpp 8 1 Project1
Error 3 error C2065: 'LIBRARYITEM' : undeclared identifier z:csci 125projectsproject1project1source.cpp 9 1 Project1
Error 4 error C2228: left of '.INPUT' must have class/struct/union z:csci 125projectsproject1project1source.cpp 9 1 Project1
Error 5 error C2065: 'LIBRARYITEM' : undeclared identifier z:csci 125projectsproject1project1source.cpp 10 1 Project1
Error 6 error C2228: left of '.PURCHASE' must have class/struct/union z:csci 125projectsproject1project1source.cpp 10 1 Project1
将类声明移动到main()
之上。在main()
中,声明类的实例,尽量不要将该实例(或变量)命名为与类本身相同的名称。
int main()
{
LIBRARYITEM item;
item.INPUT();
item.PURCHASE();
}
我不知道C++为什么编译得如此愚蠢,只是把main()放在程序的末尾,就像charm-一样
#include <iostream>
#include <iomanip>
using namespace std;
class LIBRARYITEM
{
public:
void INPUT();
void PURCHASE();
private:
int ITEM_NO;
char ITEMTITLE;
float PRICE;
int TOTALCOST(int N);
};
void LIBRARYITEM::INPUT() {
cout << "PLease input item no. - ";
cin >> ITEM_NO;
cout << "Please input title- ";
cin >> ITEMTITLE;
// We will assume price that per copy is 100$
PRICE = 100;
}
void LIBRARYITEM::PURCHASE() {
cout << "How many copies you wish to buy - ";
int a;
cin >> a;
cout << "Total cost for books is $ ";
cout << TOTALCOST(a);
}
int LIBRARYITEM::TOTALCOST(int N) {
return N * PRICE;
}
int main()
{
LIBRARYITEM LIBRARYITEM;
LIBRARYITEM.INPUT();
LIBRARYITEM.PURCHASE();
system("pause");
return 0;
}
相关文章:
- 在气泡排序程序中未声明错误功能
- 我在范围内未声明的错误类有问题
- 我的代码中有错误,未声明的标识符
- 错误:在 C++ 'std'使用未声明的标识符
- 重载时未在 C++ 的作用域错误中声明
- 未声明的标识符错误,但变量定义正确 (?)
- 在此范围内未声明错误"Clreol"
- 错误:在 C++ 目标 c 混合'self'使用未声明的标识符
- "myClock"未在此范围错误中声明
- 构造中错误:未在此范围中声明"data"
- 错误: C2065: "QTcpSocket" : 未声明的标识符
- C++:outFile错误:outFile未声明
- Qt for wasm: 错误: 使用未声明的标识符 'QThreadPool'
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 奇怪的未声明变量编译器错误
- 我收到未声明的标识符错误,但我已包含头文件?
- 尝试在Linux Mint 17.1 64位上"make" C++项目时从cstdlib和类似内容编译错误(未声明/不是类型)
- C++错误未声明的标识符,但殷智感知不显示错误
- 骰子游戏c++错误未声明的标识符/代码审查
- C++错误未声明的标识符