I have an abstract class. I like to know if it is possible to define an abstract function using a list of variable arguments?
Give an example, if possible.
Yes, it is possible in principle. The following is an example. You can see the result here .
We also read about the list of variable arguments here and 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; }
Source: https://habr.com/ru/post/908963/More articles:How to interact with a UITableView in a UIViewController? - iosadd "Redistributable Microsoft Access Database Engine 2010" as a prerequisite for clickonce - c #Spring MVC Singleton Thread Security? - javaChange font from Roboto to Roboto - androidHow to get a link to one message on the group wall? - postc linux checks if the file is updated / modified / modified? - cWhat is the best and most convenient tool for unit test apps for Android? - androidz-index in css not working - csshow to run the android phone android phone application in the background (after closing the application)? - javascriptWhy is resultCode = -1 here after StartActivityForResult? - androidAll Articles