不知道如何在main中调用类的方法
Don't know how to call method of a class in main
所以我编写了这个,我有一个main.cpp,我在一个叫做getData的类中调用一个方法,基本上我想做的是让用户输入出发和目的地,然后输出价格和时间(所有数据都存储在一个文本文件fly.txt中)
这似乎并不复杂,但我总是出错。我是否在头文件中正确声明了所有内容,并且我是否在主体中正确调用了方法?
提前感谢!
getData.h
#ifndef GETDATA_H
#define GETDATA_H
#pragma once
class getData
{
public:
getData(String dep,String des)
ifstream data("fly.txt");
String departure,destination,time;
int price;
vector<String> flights;
vector<String> times;
vector<int> prices;
void getFlights(String dep, String des);
void getTime(String dep, String des);
void getPrice(String dep, String des);
};
#endif
getData.cpp
#include "getData.h"
#include "std_lib_facilities.h"
getData::getFlights(string dep, string des){
while(data >> departure >> destination >> time >> price){
if (dep==departure && des=destination)
flights.push_back(departure);
}
}
getData::getPrice(string dep, string des){
while(data >> departure >> destination >> time >> price){
if (dep==departure && des=destination)
prices.push_back(price);
}
}
getData::getTime(string dep, string des){
while(data >> departure >> destination >> time >> price){
if (dep==departure && des=destination)
times.push_back(time);
}
}
main.cpp
#include "std_lib_facilities.h"
#include "getData.h"
int main(){
getData test;
cout<<"Where are you flying from?"<<endl;
string ideparture;
cin>>ideparture;
cout<<"Where are you flying to?"<<endl;
string idestination;
cin>>idestination;
getData.getFlights(ideparture, idestination);
keep_window_open("q");
}
在main ():
getData构造函数需要两个参数:getData test(String deep, String des);
在getData
- 定义类变量
- #pragma once = #ifndef GETDATA_H[…]
getData:
class getData {
private:
std::ifstream data;
std::string departure,destination,time;
int price;
std::vector<std::string> flights;
std::vector<std::string> times;
std::vector<int> prices;
...
}
…
(dep==departure && des==destination)
…
void getData::fn(...)
我没有耐心找到所有的bug…
您应该仔细验证您的变量。"String"变量类型不同于"String"(注意大小写)。C/c++及其派生语言是区分大小写的。
代码:// Header file definition
void getFlights(String dep, String des);
// Implementation file
getData::getFlights(string dep, string des){
// ...
}
相关文章:
- 在c++中多次调用方法
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- 接收字符串并使用它来调用方法C++
- 使用 gmock c++ 在真实对象上调用方法
- 不带预处理器的调用方法/文件的文件名/行号
- JNI从Android调用C++方法
- 在 C++ 的 Switch Case 中创建对象后对对象调用方法
- 如何使用接口指针调用方法,该指针是其具体类的一部分,而不是接口的一部分
- 从内部类中的方法从包含类调用方法
- 在销毁期间从另一个线程调用对象上调用方法是否未定义行为?
- 为什么派生类的实例从基类调用方法?
- 实例化对象并调用方法,使用单行语法在 C# 或 C++ 中返回值?
- C++当您取消引用指向类对象的指针,然后将其作为引用返回时,是否可以对此引用调用方法
- 通过模板函数对未知类型调用方法
- 从基于迭代器的for循环转换后,如何在map::find()中调用方法
- 创建一个C++DLL以从C#DLL调用方法
- 如何从qt中的类中调用方法
- 如何在不迭代的情况下对数组中的每个元素调用方法
- C++11 - 获取编译时的所有类变量,并在没有 Boost 的情况下为它们调用方法
- C ++:如何在不创建对象的情况下在主函数中调用方法