आप संरचना के अनुसार समूह कोड की कोशिश कर रहे हैं। C समूहीकरण फ़ाइल द्वारा होता है। आप सभी फ़ंक्शन और आंतरिक चर को हेडर या हेडर और ऑब्जेक्ट ".o" फ़ाइल में एसी स्रोत फ़ाइल से संकलित करते हैं।
सी प्रोग्राम के लिए खरोंच से ऑब्जेक्ट-ओरिएंटेशन को सुदृढ़ करना आवश्यक नहीं है, जो ऑब्जेक्ट ओरिएंटेड भाषा नहीं है।
मैंने इसे पहले देखा है। बड़ी अजीब बात है। कोडर्स, उनमें से कुछ, एक वस्तु को पारित करने के लिए एक विचलन है जिसे वे इसे बदलने के लिए एक फ़ंक्शन में बदलना चाहते हैं, भले ही ऐसा करने का मानक तरीका हो।
मैं सी ++ को दोष देता हूं, क्योंकि यह इस तथ्य को छिपाता है कि सदस्य ऑब्जेक्ट में क्लास ऑब्जेक्ट हमेशा पहला पैरामीटर है, लेकिन यह छिपा हुआ है। तो ऐसा लगता है कि यह फ़ंक्शन में ऑब्जेक्ट को पास नहीं कर रहा है, भले ही यह हो।
Client.addClient(Client& c);
C लचीला है और संदर्भ द्वारा चीजों को ले जा सकता है।
एसी फ़ंक्शन अक्सर केवल एक स्थिति बाइट या इंट देता है और जिसे अक्सर अनदेखा किया जाता है। आपके मामले में एक उचित रूप हो सकता है
err = addClient( container_t cnt, client_t c);
if ( err != 0 )
{ fprintf(stderr, "could not add client (%d) \n", err );
addClient Client.h या Client.c में होगा