2011-04-29 63 views
0
// stock.h 

#ifndef STOCK_H 
#define STOCK_H 

// declare Stock Class 
class Stock 
{ 
private: 
    string StockExchange; 
    string Symbol; 
    string Company; 
    double Price; 
    int Shares; 
public: 
    Stock(); 
    Stock(string stockExchange, string symbol, string company, double price, int shares); 
    void displayStockInfo(); 
    void setStockInfo(string stockExchange, string symbol, string company, double price, int shares); 
    double getValue(); 
    bool operator < (Stock & aStock); 
    bool Stock::operator > (Stock & aStock); 
}; 

#endif 

[破]C++:沒有重載函數的實例?

//main.cpp 

#include <string> 
#include <iostream> 
#include <iomanip> 
#include <fstream> 

#include "stock.h" 

using std::string; 
using std::endl; 
using std::cout; 
using std::setw; 
using std::ifstream; 


// ******************************* 
// Stock class 

Stock::Stock() { 
    StockExchange = ""; 
    Symbol = ""; 
    Company = ""; 
    Price = 0.0; 
    Shares = 0; 
} 

Stock::Stock(string stockExchange, string symbol, string company, double price, int shares) { 
    StockExchange = stockExchange; 
    Symbol = symbol; 
    Company = company; 
    Price = price; 
    Shares = shares; 
} 


// end Stock class 
// ******************************* 

... 

我的錯誤說沿着「沒有重載函數股票的實例線::股票(字符串股票交易所,串符號,串公司,雙重價格,INT股)存在的東西「。

我在做什麼錯?我在我的頭文件中看到它。

+0

「我的錯誤說...」說哪裏?通常會在通話時報告類似的錯誤。我在您提供的代碼中看不到任何呼叫。 – AnT 2011-04-29 17:53:20

+1

將代碼和實際錯誤消息發佈到編譯器報告錯誤的行。 – 2011-04-29 17:54:12

+0

將您的代碼縮減爲演示錯誤所需的最小示例,然後重新發布整個結果。 – NPE 2011-04-29 17:54:43

回答

2

您還沒有在stock.h頭文件中包含<string>頭文件,即使您在其中使用std::string也是如此。也許這是導致這個錯誤信息(如果是這樣的話,那麼我會說它真的是一個壞消息)。

的另一個問題是,在Stock類的定義,你寫這樣的:

bool Stock::operator > (Stock & aStock); 

這是不對的。從中取出Stock::,並使其像這樣:

bool operator > (const Stock & aStock); 
       //^^^^ add this also (better) 

Stock::定義類之外的功能時是必需的。

+0

這是因爲未聲明的類型自動爲int嗎? – schoetbi 2011-04-29 17:57:33

+0

@schoetbi不在C++中。 – 2011-04-29 18:00:56

+0

似乎是這樣的問題。我很困惑把#include和類似的東西放在哪裏。他們應該進入頭文件嗎?如果我的頭文件#include 那麼我的main.cpp會包含#include 會發生什麼情況。我不會收到編譯錯誤嗎? – Skinner927 2011-04-29 18:01:03

相關問題