Template bugged?
Patrick Kreft
patrick_kreft at gmx.net
Tue Sep 18 13:15:51 PDT 2007
BCS schrieb:
> Reply to Patrick,
>
....
>
> I think that would also fail in C++. If not, than the difference is not
> a template issue. The issue is that a class news an instance of it's
> self for each instance of it's self. It's just hidden by the use of
> template base classes
>
>
Hmm it's work well on MinGW.
#include <iostream>
using namespace std;
class windows {
public:
void msgloop() {
std::cout << "MsgLoop" << std::endl;
}
};
template <class app, class subsystem = windows>
class application {
public:
int execute() {
_app->run();
_subsystem->msgloop();
return 0;
}
public:
subsystem * _subsystem;
app * _app;
};
class HelloWorld : public application<HelloWorld> {
public:
void run() {
std::cout << "HelloWorld" << std::endl;
}
};
int main() {
HelloWorld app1;
app1.execute();
std::cin.get();
return 0;
}
More information about the Digitalmars-d
mailing list