如何声明类的实例
How do I declare an instance of my class?
我有一个Parser.h,Parser.cpp文件,里面有函数构造函数是
Parser::Parser(string filename){....}
现在我想在functions.cpp文件中使用我的解析器,在那里我确保
#include "Parser.h"
在我的函数中,我想使用解析器——我如何创建它的新实例,这就是我所拥有的,但我得到了语法erorrs。
Parser::Parser parser("filename.txt");
对不起,伙计们,我应该确保我正确地复制了我的代码,我没有引号错误,也没有忘记引入解析器。h
(如果是#include
和Parser.h
(,则只需要
Parser parser("filename.txt");
Parser::Parser
标记类Parser
的构造函数方法的定义。然而,构造函数可以(也不需要(直接调用——您可以通过定义Parser
的实例来隐式调用它,就像上面一样。
请注意,文件名应使用双引号(单引号表示单字符,双引号表示文本字符串(。
#include "functions.h"
头文件名是Parser.h
,而不是functions.h
。
这样做:
#include "Parser.h"
然后这个:
Parser parser("filename.txt"); //not Parser::Parser parser('filename.txt');
对字符串文字(如"filename.txt"
(使用双引号,而不是单引号
尝试
Parser::Parser parser("filename.txt");
单引号用于单个字符而非字符串。
Parser parser("filename.txt");
相关文章:
- "extern"声明以及带有和不带参数列表的类模板实例的后续定义
- 如何使用参数声明实例?
- 模板中的模板方法 - 实例声明和类方法声明签名不同
- 单行类声明和实例化
- 从模板基类派生是否在派生类声明的点实例化模板
- 在实例化封闭类模板之后,我们可以声明模板类成员的部分专用化吗
- 我们可以在没有新实例化的情况下声明一个抽象方法来返回抽象超类中的子类对象吗
- 在声明或实现中延迟初始化C++单一实例
- 在 C++ 结构内声明的数组 A[1] 创建多个实例
- 在不使用默认构造函数的情况下声明 POD 结构时,会实例化什么?
- 声明类的变量而不创建它的实例
- C++17 单独的显式方法模板实例化声明和定义
- 如何将指针存储在实例变量中,该指针被声明为指向基类的指针
- 声明嵌套基模板类实例是派生类的好友
- 析构函数在 lambda 捕获说明符中声明的类实例上运行两次
- 声明基类类型的指针,但随后通过指向子类来实例化它.这是良好的编程实践吗?
- 在声明纯虚函数的父类的实例上调用纯虚函数时会发生什么情况
- 模板函数是否以内联方式声明 constexpr,即使实例化不是 constexpr
- C++类实例声明没有匹配的函数
- C 在对象实例化时如何分开声明和构造函数