मुझे यकीन नहीं है कि सी ++ में मेरे कार्यों को कैसे ऑर्डर करें। सी में, मैंने बस एक फ़ंक्शन रखा है जो उस फ़ंक्शन के नीचे एक और फ़ंक्शन का उपयोग करता है, जितना संभव हो सके - यह बहुत आम है। इस तरह:सी ++ में फ़ंक्शंस कैसे ऑर्डर करें?
void bar()
{
}
void foo()
{
bar();
}
हालांकि, सी ++ में, वहाँ कार्यों के कई प्रकार हैं:
- नि: शुल्क कार्यों
- निजी सदस्य कार्यों
- लोक सदस्य कार्यों
- स्टेटिक सदस्य कार्यों
मैं वर्तमान में maki हूँ निर्भर जैसे कि वे किस तरह .hpp फ़ाइल में आदेश दिया जाता है पर एनजी मेरी समारोह आदेश: निर्माता foo का उपयोग करता है() या बार
class Foo_bar {
public:
Foo_bar();
void foo();
private:
int some_member;
void bar();
लेकिन अब(), इन में निर्माता नीचे हो जाएगा स्रोत फ़ाइल, मेरे सामान्य आदेश के साथ असंगत। मैं निश्चित रूप से मेरी शीर्ष लेख को पुन: व्यवस्थित कि खातों को भी लेने के लिए कर सकते हैं:
class Foo_bar {
private:
int some_member;
void bar();
public:
void foo();
Foo_bar();
लेकिन मुझे लगता है कि एक गड़बड़ है।
इसके अलावा, जावा में, मेरा पहला उदाहरण के विपरीत आम हो रहा है:
void foo()
{
bar();
}
void bar()
{
}
को ऊपर से नीचे OOP में आम सोच, इसके विपरीत में की वजह से शायद इसलिए है कि नीचे से ऊपर में आम सोच प्रक्रियात्मक/कार्यात्मक प्रोग्रामिंग। हालांकि, मुक्त कार्यों के साथ जिनके प्रोटोटाइप नहीं हैं, यह टॉप-डाउन शैली संभव नहीं है।
क्या सी ++ में लगातार क्रम में कार्यों को ऑर्डर करना भी संभव है?
मैं मैं क्या कर रहा हूँ पर काम कर रहा द्वारा अपने कार्यों ऑर्डर करने के लिए पसंद करते हैं घोषणाओं की सूची और समान रूप से परिभाषाओं की सूची ... आदेश - इतनी है कि जब एक फ़ाइल खोलना, यह संभावना है कि मैं जो देखना चाहता हूं वह शीर्ष पर है। उस ने कहा, मेरे पास ":: methodName" की तलाश में बहुत सारी अभ्यास है - इसलिए शायद मेरी विधि सबसे अच्छी नहीं है;) – sje397
मुझे प्रश्न समझ में नहीं आता है। सभी कार्यों में प्रोटोटाइप होते हैं और यदि आपको आवश्यकता हो तो आप हेडर फ़ाइल या कहीं और में मुफ्त फ़ंक्शंस घोषित कर सकते हैं। जब तक आपके द्वारा उपयोग किए जाने वाले किसी भी फ़ंक्शन के लिए घोषणाएं दिखाई देती हैं, तो आप किसी भी क्रम में फ़ंक्शन परिभाषाओं को ऑर्डर कर सकते हैं। आपके कार्यों को किसी भी तरह से व्यवस्थित करने से आपको क्या रोक रहा है जो आपको लगता है? –
@ चार्ल्स: नीचे फोर्नी की टिप्पणियां देखें। जाहिर है, वह भाषा सुविधाओं का उपयोग करने के बारे में सोचता है कि उनके लिए क्या बुरा था ...? ऐसा लगता है कि वह मूल रूप से अत्यधिक व्यक्तिपरक प्रश्न पूछ रहा है "मैं मेरे लिए उपलब्ध भाषा सुविधाओं का उपयोग नहीं करना चाहता, आप इसके बजाय क्या सुझाव देते हैं?" यह कहने जैसा है "मुझे वास्तव में घुंघराले ब्रेसिज़ पसंद नहीं है, इसलिए मैं उनसे बचने के लिए प्रति ब्लॉक 1 कथन फिट करने की कोशिश करता हूं, क्या ऐसा करने का एक निरंतर तरीका है इसलिए मुझे घुंघराले ब्रेसिज़ का उपयोग कभी नहीं करना पड़ेगा?" और किसी को यह कहने की उम्मीद है "हाँ! अगर (एक्सपी) कथन; अगर (एडीएक्सपी) कथन 2; आपको 2 आंकड़े बिना ब्रेसिज़ के मिलते हैं!" क्यू – Loduwijk