Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.
VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.
Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »David Malcolm se na blogu vývojářů Red Hatu rozepsal o vybraných novinkách v GCC 16, jež by mělo vyjít v nejbližších dnech. Vypíchnuta jsou vylepšení čitelnosti chybových zpráv v C++, aktualizovaný SARIF (Static Analysis Results Interchange Format) výstup a nová volba experimental-html v HTML výstupu.
Byla vydána verze R14.1.6 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Jon Seager z Canonicalu včera na Ubuntu Community Hubu popsal budoucnost AI v Ubuntu. Dnes upřesnil: AI nástroje budou k dispozici jako Snap balíčky, vždy je může uživatel odinstalovat. Ve výchozím nastavení budou všechny AI nástroje používat lokální AI modely.
Nový ovladač Steam Controller jde do prodeje 4. května. Cena je 99 eur.
Greg Kroah-Hartman začal používat AI asistenta pojmenovaného gkh_clanker_t1000. V commitech se objevuje "Assisted-by: gkh_clanker_t1000". Na social.kernel.org publikoval jeho fotografii. Jedná se o Framework Desktop s AMD Ryzen AI Max a lokální LLM.
Ubuntu 26.10 bude Stonking Stingray (úžasný rejnok).
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.3.0. S experimentální podporou FLTK 1.4. S příkazem dilloc pro ovládání prohlížeče z příkazové řádky. Vývoj prohlížeče se přesunul z GitHubu na vlastní doménu dillo-browser.org (Git).
#include <iostream>
using namespace std;
class widget {
public: virtual void set_text(){};
};
class button : public widget {
public:
void set_text(){cout << "settext button" < endl;};
};
class label : public widget {
public:
void set_text(){cout < "settext label" < endl;};
};
int main(int argc,char *argv[])
{
widget *arr[2];
arr[0] = (widget *) new button();
arr[1] = (widget *) new label();
arr[0]->set_text();
arr[1]->set_text();
return 0;
}
class A {
public:
virtual void f() { cout << "A" << endl; }
};
class A1 : public A {
public:
virtual void f() { cout << "A1" << endl; }
};
class A2 : public A {
public:
virtual void f() { cout << "A2" << endl; }
};
A* p1 = new A1;
A* p2 = new A2;
p1->f(); p2->f();
vypíše 'A1' a 'A2'. Kdyby ale ty metody nebyly virtuální, vypíše dvakrát 'A'.
class A {
public:
virtual void f();
};
void A::f() { cout << "A" << endl; }
a analogicky i pro ty dvě dceřinné třídy.
2) Kontakt na mna je v linke na moje meno, ale a) nepovazujem sa za experta na c++, a b) nerucim za to ze odpoviem v rozumnej dobe
3) Tento server asi navstevuje vela programatorov, takze mozno dostanes odpovede aj tu, ale nie je to primarnym zameranim tohoto serveru. Mozno by bolo lepsie obratit sa na nejake usenet grupy (napr. comp.lang.c++)
class AbstractObject
{
public:
virtual setText(QString *text) = 0;
}
A pak udělat specializace pro skutečné widgety:
class QButtonWrapper
{
QLabel *m_button;
public:
virtual setText(QString *text) { m_button->setText(text) };
}
(konstruktor a destruktor je zřejmý)
Tak vlastně doděláš to, na co se v návrhu toolkitu zapomnělo.
Pozn. Ty třídy nejdou ani sloučit pomocí vícenásobné dědičnosti, protože mají společného předka. To se dá sice obejít virtuální dědičností, ale opět pokud to neudělal autor toolkitu, ty už s tím nic nenaděláš.
#include <iostream>
using namespace std;
class Otazka {
public:
virtual void ask() { cout << "Obecna Otazka" << endl; }
};
class LinuxovaOtazka: public Otazka {
public:
virtual void ask() { cout << "Tato otazka patri na ABCLinuxu" << endl; }
};
class JinaOtazka: public Otazka {
public:
virtual void ask() { cout << "Tato otazka sem nepatri" << endl; }
};
int main()
{
Otazka* ot = new JinaOtazka;
ot->ask();
return 0;
}
Tiskni
Sdílej: