Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Originally posted by Cyth What does "virtual void" mean?
I'm trying to do some basic qt/KDE programming..
Yes I know, this isn't the programming forum.
i like it when they don't realise their asking the question in the wrong forum..and don't admit it, it makes the person asking the question seem more intelligent.
The virtual keyword is used to make a function virtual. If a class is derived from a base class with and the function is overwritten then if it's virtual then the function from the derived class will be run instead of the one from the base class.
That probably just sounds even more confusing because I'm not good at explaining these kind of things. If you want a full explanation try downloading the book Thinking in C++ from Bruce Eckel. In chapter 15 it has a complete explanation of virtual functions.
Here is the simple example of virtual function which is perhaps the easiest way to understand what it means.
class Foo {
public:
virtual void A;
};
class Foo1: public Foo {
public:
void A;
};
void Foo::A {
printf("\nHello world from Foo");
}
void Foo1::A {
printf("\nHello world from Foo1");
}
int main()
{
Foo *x = new Foo1();
x->A;
}
The result should be "Hello world from Foo1" even though we declared the x as Foo. This works only for the objects which are created on the heap (the new keyword). This concept is called polimorphism. By declaring function as virtual compiler calls the function from the subclass even though that pointer type is base class pointer. For more datailed information read some books.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.