Я не на 100% уверен, что Вы спрашиваете, но вот пример, который работает с виртуальными функциями:
#include <iostream>
using namespace std;
class A {
public:
virtual void foo() { cout << "A::foo\n"; }
};
class B : public A {
public:
virtual void foo() { cout << "B::foo\n"; }
};
int main()
{
void (A::*bar)() = &A::foo;
(A().*bar)();
(B().*bar)();
return 0;
}
На этот вопрос сложно ответить.
Недавно я переключил часть моей рабочей нагрузки по построению графиков с R на matplotlib. По моему скромному мнению, графики matplotlib кажутся красивее (лучше цвета по умолчанию, они выглядят четче и современнее). Я также думаю, что matplotlib намного лучше отображает PNG.
Настоящей мотивацией для меня было то, что я хотел работать с моими базовыми данными на Python (и numpy), а не на R. Я думаю, что это большой вопрос, который нужно задать , на каком языке вы хотите загружать, анализировать и манипулировать своими данными?
С другой стороны, бонусом для R является то, что значения по умолчанию для построения графиков просто работают (есть функция для всего). Я часто копаюсь в документации matplotlib (они толстые) в поисках непонятного способа настроить границу или увеличить толщину линии. Р'
Я думаю, что самым большим преимуществом является то, что matplotlib основан на Python, о котором вы говорите, что уже знаете. Итак, это на один язык меньше для изучения. Просто потратьте время на освоение Python, и вы получите выгоду как непосредственно для решения поставленной задачи, так и косвенно для других ваших потребностей Python.
Кроме того, IMHO Python в целом более богатый язык, чем R, с гораздо большим количеством библиотек, которые могут помочь в решении различных задач. Вам необходимо получить доступ к данным для построения графиков, а данные бывают разных форм. В какой бы форме он ни появился, я уверен, что у Python есть для этого эффективная библиотека.
А как насчет встраивания этих графиков в более полные программы, скажем, в простые графические интерфейсы? matplotlib легко связывается с библиотеками графического интерфейса Python (такими как PyQT), и вы можете создавать вещи, которые ограничены только вашим воображением.