2014-07-05 112 views
-1

我有 在一個.cpp文件中聲明一個類,並寫在.h文件的結構,以便使用在其他.cpp文件類解析的外部符號LINK 2019

例子:

//class1.cpp     //class1.h 
    class class1     class class1 
    {        { 
    private:      private: 
     double X;      double X; 
     ...        ... 
    public:       public: 
     double getX(){return X;}  double getX(); 
     ...        ... 
    };        }; 

Class2將包含「class1.h」,因此允許我使用class1,但只能在新類class2中使用。

我想要什麼:

include "class1.h" 

    class1 c; 

    class class2{/* ... */}; 

是否有可能,如果是這樣怎麼會一個去,在class2.cpp聲明類型的Class1的一個全局對象?

回答

2

您的class1.cpp是問題所在。

應該看起來更像是這樣的:

double class1::getX(){return X;} 

你並不需要其他的東西在裏面。

,作爲使c只在Class2中可用,你既可以讓你當前的C靜這樣的:

static class1 c; 

這將導致它只能在該文件中可見。 或者,你可以讓c在class2內部成爲一個靜態變量。 class2.h:

class class2{ 
private: 
    static class1 c; 
} 

class2.cpp:

class1 class2::c; 

這是你初始化。 (必要100%)

http://www.cplusplus.com/doc/tutorial/classes/

http://www.learncpp.com/cpp-tutorial/811-static-member-variables/

+0

聲明在等級2型的Class1的一員,是不是我的問題。我更感興趣的是獨立於其他任何東西而使用全局對象class1。靜態屬性不幫助我。 – Galax27

相關問題