Portál AbcLinuxu, 30. října 2025 18:22
Dneska maly jednoduchy kvizek z C++
hlavickovej soubor
class A {
public:
virtual ~A(){}
A(){}
virtual void fce()=0;
};
class B : public A {
public:
~B(){}
B(){}
virtual void fce();
};
A telo
#include "class.h"
#include <iostream>
using namespace std;
void A::fce(){
cout << "a z fce" << endl;
}
void B::fce(){
A::fce();
cout << "b z fce" << endl;
}
int main(){
B b;
b.fce();
return 0;
}
No a otazka je jasna co se stane, moznosti sem dal do ankety. Jinak pokud byste chteli tezsi kvizy, tak napiste do diskuze. Ty nejlepsi kvizy se tykaji templatu, kde pro dost lidi je narocnej odhad co to dela.
Tiskni
Sdílej:
Ale jinak hezky, standard rika pouze ze deklarace nesmi kombinovat pure specifier a definici.
Trochu dost.
Kdyz nechci aby slo vytvorit instanci tridy, tak ji proste udelam chraneny konstruktor. Proc bych proboha mel kvuli takove blbosti zbytecne zpomalovat kod?
) muzete takovy veci potrebovat.
class A
{
public:
A() {}
virtual void nic() = 0;
};
void A::nic() { cout << "A" << endl; }
class B : public A
{
public:
B() { }
void nic(){ cout << "B" << endl; }
// A* getA() { return new A; }
};
int main()
{
B* x = new B;
//A* y = x.getA();
static_cast<A*>(x)->nic();
dynamic_cast<A*>(x)->nic();
reinterpret_cast<A*>(x)->nic();
x->A::nic();
}
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.