我正在尋找一些東西,使我能夠在功能上做一些功能。 下面是一個例子,使之更加明顯:幾個功能之間的分裂任務
class A{
private:
int n;
int c;
public:
void foo();
}
然而FOO是應該變動c的功能,但需要n該。 foo
有點複雜,所以我想把它分成不同的子功能。 由於foo
需求n
它不是通過朋友功能簡單可行的(不經過N(有我的真正的問題噸的變量)
我正在尋找一些東西,使我能夠在功能上做一些功能。 下面是一個例子,使之更加明顯:幾個功能之間的分裂任務
class A{
private:
int n;
int c;
public:
void foo();
}
然而FOO是應該變動c的功能,但需要n該。 foo
有點複雜,所以我想把它分成不同的子功能。 由於foo
需求n
它不是通過朋友功能簡單可行的(不經過N(有我的真正的問題噸的變量)
只要把所有這些子功能相同的類中,讓他們私人?
class A
{
int n;
int c;
void foo_thing_1();
void foo_thing_2();
public:
void foo() { foo_thing_1(); foo_thing_2(); }
};
所以沒有辦法呢? :) 該死的 – bios
@Bios:你的實際問題是什麼?你沒有解釋任何東西,這個答案的總體思路涵蓋了複雜類的大多數明智的設計。 –
由於它已被其他答案指出,簡單的私有函數應該足夠了 - 除非你還需要訪問原始函數的內部變量 - 在C++ 11中是不可能的。想看看lambda函數 - 雖然我確信這不是他們的意思。
這裏我沒有看到任何「真正的」問題。兩個n&c都在同一個班級內?分裂一個函數不應該成爲一個問題。 – dip