मेरे पास एक सैद्धांतिक प्रश्न है, हालांकि यह एक समस्या है जिसे कभी-कभी कक्षाओं को डिजाइन करते समय सामना करना पड़ता है और मैं इसे अन्य कोड पढ़ने के दौरान अलग-अलग करता हूं। निम्न में से कौन बेहतर होगा और क्यों:क्लास डिज़ाइन: कई चर बनाम एरेज़
उदाहरण 1:
class Color
{
public:
Color(float, float, float);
~Color();
friend bool operator==(Color& lhs, Color& rhs);
void multiply(Color);
// ...
float get_r();
float get_g();
float get_b();
private:
float color_values[3];
}
उदाहरण 2:
class Color
{
public:
// as above
private:
float r;
float g;
float b;
}
वहाँ एक सामान्य नियम के एक इस तरह के मामलों में पालन करना चाहिए है या यह सिर्फ है एक प्रोग्रामर तक और क्या अधिक समझ में आता है?
बीटीडब्लू क्या आपके पास खेतों को निजी रखने के लिए कोई व्यावहारिक कारण है? उदाहरण के लिए – Kos
@ कोस, उदाहरण के लिए, मैं आसानी से इनपुट को प्रतिबंधित करने के लिए एक्सेसर्स और म्यूटेटर का उपयोग करके देख सकता था, हालांकि प्रत्येक फ़ील्ड शायद 'फ्लोट' के बजाय 'बाइट' होना चाहिए। इसके अतिरिक्त, '# एबीसीडीईएफ' और '# एबीसी' जैसे स्ट्रिंग मानों का उपयोग किया जा सकता है। – zzzzBov