2012-02-21 14 views
6

मेरे पास एक सारणी कक्षा है जिसे मैं जानना चाहता हूं कि परिवर्तनीय तर्क सूची के साथ एक अमूर्त फ़ंक्शन को परिभाषित करना संभव है या नहीं?सार फ़ंक्शन और वेरिएबल तर्क सूची

यदि यह संभव हो तो मुझे एक उदाहरण दें।

+2

कृपया आप करना चाहते हैं क्या का एक सरल छद्म कोड उदाहरण जोड़ें। –

उत्तर

11

हां, यह सिद्धांत रूप में संभव है। एक उदाहरण नीचे दिया गया है। आप आउटपुट here देख सकते हैं।

भी चर तर्क के बारे में पढ़ा सूची here और here

#include <iostream> 
#include <cstdarg> 

using namespace std; 


class AbstractClass{ 

public: 

    virtual double average(int num, ...) = 0; 


}; 


class ConcreteClass : public AbstractClass{ 
public: 

    virtual double average(int num, ...) 
    { 
     va_list arguments;      // A place to store the list of arguments 
     double sum = 0; 

     va_start (arguments, num);   // Initializing arguments to store all values after num 
     for (int x = 0; x < num; x++)  // Loop until all numbers are added 
     sum += va_arg (arguments, double); // Adds the next value in argument list to sum. 
     va_end (arguments);     // Cleans up the list 

     return sum/num;      // Returns the average 
    } 



}; 



int main() 
{ 
    AbstractClass* interface = new ConcreteClass(); 
    cout << interface->average(3 , 20 ,30 , 40); 

    return 0; 
} 
संबंधित मुद्दे