|
Thanks Cedric!
My careless. I want to confirm with you in the code link I posed below, you think foo and goo should be in vtable, correct?
http://www.codeproject.com/script/Forums/View.aspx?fid=1647&msg=2728926
regards,
George
|
|
|
|
|
I played a bit with your code and I think the problem is due to the "diamond pattern". I don't have a clear explanation of what is happening but if IFoo and IGoo inherits virtually from IBase, then the functions appear in the virtual table (in fact, looking with the debugger shows that a vtable has been added for IFoo and for IGoo).
|
|
|
|
|
Hi Cedric,
Virtual inheritance only makes one single copy of data member, and it has noting to do with methods, correct? But in my sample there is no data member. If I am wrong, please feel free to correct me.
regards,
George
|
|
|
|
|
Sure, I'me pretty blind this morning. Thank you for pointing out.
I changed my mind again (too many drugz this morning), see http://www.codeproject.com/script/Forums/View.aspx?fid=1647&msg=2729211[^]
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
modified on Thursday, September 18, 2008 6:32 AM
|
|
|
|
|
Thanks CPallini,
Anyway, do you think foo and goo should be in vtable of Zoo?
regards,
George
|
|
|
|
|
Sorry, I naively acknowledged your observation, but it's (IMHO) wrong: actually Zoo class does NOT override foo & goo .
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Actually, we are discussing this situation[^], in which Zoo overrides foo and goo .
|
|
|
|
|
You are correct, Cedric!
Do you have any ideas why foo and goo are not in class Zoo's vtable?
regards,
George
|
|
|
|
|
Please, don't reply each time when I make a reply to CPallini. This makes this thread completely unreadable. Furthermore, it would be nice to vote for the answers that were really helpfull, not all the answers (it helps other people to find directly the correct answer). I don't think the reply I made to CPallini was really helpfull to you...
George_George wrote: Do you have any ideas why foo and goo are not in class Zoo's vtable?
If I didn't reply to you, it probably means that I don't have the answer to your question, so, it won't help ask the question once again.
|
|
|
|
|
I agree with your points, Cedric! I will just wait for your reply.
regards,
George
|
|
|
|
|
I should give up with drugz
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Thanks CPallini,
I have tried even if we override foo and goo in class Zoo, in vtable of class Zoo, there is still no entries for foo/goo.
regards,
George
|
|
|
|
|
Hi all,
I am building my application for windows VISTA using vc++ in which I need to execute it after restarting the machine.
At one point during my application is running I need to restart the system once and then again my application should run itself.
On the machine if Windows Defender is activated then it pops up a message for permission to run the exe. I do not need that pop up it should execute itself after restarting the machine.
Please suggest me the way to do this.
Thanks
|
|
|
|
|
You need to run your application by making it a service or u first schedule your application to run at startup through your windows task scheduler.
then it will work fine in vista.
Have a great Day.
|
|
|
|
|
I am a beginner at programming and am in need of some assistance on how to take a string and convert it to decimal. Please help!
|
|
|
|
|
_tcstol CRT function will do...
Regards,
Rane
modified on Thursday, September 18, 2008 12:49 AM
|
|
|
|
|
Does this link[^] help?
Regards,
Sandip.
|
|
|
|
|
|
Hi
just a quick question from a novice programmer.
I want a storage class that only allows one instance of each thing like
set<cstring> myList;
but I want the items to be kept in sequential order
For example
I want to add "John" to the set.
Then I want to add "Peter".
Then "Chris".
Then I try and add "Peter" again it won't do it, so my set is still [John, Peter, Chris]
and then it keeps them in the order I entered them
so when I can ask for the second item I added I get "Peter.
My understanding of set<cstring> is when I insert a new member it will put it it alphabetical order.
any ideas??
|
|
|
|
|
yeah, easy.
Make a linked list, then upon adding a new item it gets added as a new node on the tail end of the list.
A little something like this, though with UNICODE & c++ support. There's linked lists in the stl now, but linked lists are a good educational tool, imho - hence my recommendation to write some code that uses your own implementation of them at least once.
struct myListItem
{
char *itemText;
int origPos;
myListItem *nextItem;
myListItem *prevItem;
};
myListItem *add(myListItem *linkedListHead, char *newText)
{
myListItem *curItem;
bool alreadyExists = false;
int curItemNum = 0;
curItem = linkedListHead;
if (curItem != NULL)
do
{
if (!strcmp(curItem->itemText, newText))
return curItem;
curItem = curItem->nextItem;
curItemNum++;
}while (curItem->nextItem != NULL);
else return NULL;
curItem->nextItem = (myListItem*) malloc(1*sizeof(myListItem));
curItem->nextItem->prevItem = curItem;
curItem->origPos = curItemNum;
curItem = curItem->nextItem;
curItem->itemText = (char*) malloc(strlen(newText)+1);
strcpy(curItem->itemText, newText);
return curItem;
}
|
|
|
|
|
All,
My environment is Windows XP 64 bit and am running 32 bit applications. When trying to attach memory validator to a running process, its not allowing me to do so. It shows a dialog box with "dll injection failed".
Any clue to resolve this would be of great help. Mem validator has helped us a great deal in the WinXP 32 bit world. But am not able to make it work in the 64 bit world.
Please let me know what am I missing?
Thanks
Rajdeep
|
|
|
|
|
I am working on a library that will process large (>4GB) files and I need to be able to randomly access the data.
STL's seekg() only appears to use int s which limits me to 2GB.
Any suggestions?
THanks.
|
|
|
|
|
Trollslayer wrote: Any suggestions?
Per Microsoft, any file greater than 2GB can not be read using the fstream class. This is a limitation in the stream I/O functions. For Win32, check out SetFilePointer() . Otherwise, you could use the lowest I/O in the CRT: open/_read/_write/_lseek/_lseeki64.
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
Thanks, SetFilePointer() looks the best option.
|
|
|
|
|
My MFC SDI application lists the recently used files under File/Recent menu. Where does it get this information? Has my program registered itself in the registry? I don't have an installation feature with my app. Or is it getting this info from some operating system feature?
|
|
|
|