2011-09-16 21 views
-3

我正在尋找一些東西,使我能夠在功能上做一些功能。 下面是一個例子,使之更加明顯:幾個功能之間的分裂任務

class A{ 
private: 
int n; 
int c; 
public: 
void foo(); 
} 

然而FOO是應該變動c的功能,但需要n該。 foo有點複雜,所以我想把它分成不同的子功能。 由於foo需求n它不是通過朋友功能簡單可行的(不經過N(有我的真正的問題噸的變量)

+2

這裏我沒有看到任何「真正的」問題。兩個n&c都在同一個班級內?分裂一個函數不應該成爲一個問題。 – dip

回答

2

只要把所有這些子功能相同的類中,讓他們私人?

1
class A 
{ 
    int n; 
    int c; 
    void foo_thing_1(); 
    void foo_thing_2(); 
public: 
    void foo() { foo_thing_1(); foo_thing_2(); } 
}; 
+0

所以沒有辦法呢? :) 該死的 – bios

+4

@Bios:你的實際問題是什麼?你沒有解釋任何東西,這個答案的總體思路涵蓋了複雜類的大多數明智的設計。 –

0

由於它已被其他答案指出,簡單的私有函數應該足夠了 - 除非你還需要訪問原始函數的內部變量 - 在C++ 11中是不可能的。想看看lambda函數 - 雖然我確信這不是他們的意思。