2012-08-09 10 views
5

क्या सी ++ में निजी आभासी कार्यों के लिए एक आम नामकरण सम्मेलन है? मैंने do_something(...), something_vfunc(...) इत्यादि जैसे सम्मेलनों को देखा है। आमतौर पर सी ++ परियोजनाओं में कौन सा सम्मेलन उपयोग किया जाता है?क्या सी ++ में निजी आभासी कार्यों के लिए एक आम नामकरण सम्मेलन है?

+0

'mvp_do कुछ()'। सदस्य, आभासी, निजी :) –

+0

नहीं, सम्मेलनों की पूरी तरह से पर्याप्तता है। – juanchopanza

+3

@LuchianGrigore mvp_hwnd_getHandle() ... क्रोध, अनियंत्रित क्रोध ... jons34yp - चर के रूप में एक ही सम्मेलन के लिए छड़ी? – MrFox

उत्तर

2

मानक (जैसे कई std::numpunct के बीच) में प्रयोग किया जाता सम्मेलन do_something एक protectedvirtual तरीका है, और something एक public गैर virtual विधि है कि यह कहता है कि है।

1

मैं उपसर्ग dyn_ का उपयोग करता हूं। तो आप देख सकते हैं:

class t_type { 
public: 
    /* ... */ 
    void method() { 
     this->dyn_method(); 
    } 

private: 
    virtual void dyn_method() const = 0; 
}; 

class t_subtype : public t_type { 
public: 
    /* ... */ 
private: 
    virtual void dyn_method() const { 
     ... 
    } 
}; 

एक आम एक - मुझे यकीन नहीं है।

1

मुझे यकीन है कि कई सम्मेलन हैं। मैं शेष विधि नाम के सम्मेलन के आधार पर एक पीछे Impl या _impl का उपयोग करता हूं। इसलिए ComputeFooComputeFooImpl को आवश्यकतानुसार कॉल करता है।

1

विभिन्न टीमों और लोग विभिन्न मानकों का उपयोग करते हैं। मेरा व्यक्तिगत कोई विशेष उपसर्ग या प्रत्यय नहीं जोड़ना है। नाम का प्रतिनिधित्व करना चाहिए कि यह कार्य क्या करता है। आईडीई आपको यह देखने में मदद करेगा कि यह निजी या संरक्षित, आभासी है या नहीं। और हां, वर्चुअल फ़ंक्शन को निजी या संरक्षित बनाने का एक अच्छा स्वाद है, लेकिन यदि आप इस प्रिंसिपी का पालन करने के लिए केवल नया फ़ंक्शन जोड़ रहे हैं - दो बार सोचें।

+0

मैं सहमत हूं। कोड के बारे में संकेत प्रदान करने में आधुनिक आईडीई अच्छा है। परिवर्तनीय नामों के लिए प्रत्यय और उपसर्ग जोड़ना पुराना स्कूल है। यह उन्हें (IMHO) uglier बनाता है और व्याख्या करने के लिए और अधिक मुश्किल है। – Nav

संबंधित मुद्दे