我是新來的C++編程,我需要你的幫助:C++我要像做Class1.Class2.Fct()
比方說,我有一個類 - Class1的。是否有可能有(至少)一個函數返回(例如)一個整數的另一個類(Class2)?下面是我想才達到一個例子:
std::cout << "I did it: " << Class1.Class2.ReturnINTEGER() << std::endl;
我需要的代碼以與GNU G ++編譯器兼容。謝謝 :)。
我是新來的C++編程,我需要你的幫助:C++我要像做Class1.Class2.Fct()
比方說,我有一個類 - Class1的。是否有可能有(至少)一個函數返回(例如)一個整數的另一個類(Class2)?下面是我想才達到一個例子:
std::cout << "I did it: " << Class1.Class2.ReturnINTEGER() << std::endl;
我需要的代碼以與GNU G ++編譯器兼容。謝謝 :)。
是的,它可以做到。讓我們剖析或重建。 首先得到Class1.Class2
,我們需要有一個類成員叫Class2
。而Class2
需要有一個名爲Fct
的成員。
這是一個實現:
struct Class2_Object
{
void Fct(void);
};
struct Class1_Object
{
Class2_Object Class2;
};
Class1_Object Class1;
Class1.Class2.Fct();
這一個幫助 - 非常感謝:)) –
請不要使用'void'來指定不應該傳遞給'Fct'的參數,這是完全沒有必要的。 – Rakete1111
@ Rakete1111:雖然在C++ *中是不必要的*,但它是允許的,並且可以從C語言中結轉。目前我正在用兩種語言進行編程,但在不同的項目上。 –
#include <iostream>
using namespace std;
class Two
{
public:
int toReturn;
Two()
{
toReturn=0;
}
int returnValue()
{
return toReturn;
}
};
class One
{
public:
Two foo;
};
int main()
{
One bar;
int toPrint=bar.foo.returnValue();
cout << toPrint << endl;
}
好吧 - 我試圖解決錯誤 - 在這裏: –
#include
我認爲你需要一個[本好書(http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list )讓你開始如何做到這一點。 – Rakete1111
您不會在'.'之前放置類名,而是將類型爲類的變量。 – Barmar
'.'從類中的成員名稱中分離變量(或返回結構或類對象的其他表達式)。 – Barmar