|
|
Why not just use CoCreateGuid() instead?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Hello Friends,
I have virtual function in my class and I don't want the vtable to be created. Can anybody help regarding this one. Is there any method for the above problem or any keyword, which helps the programmer to avoid creating vtable for the class.
Thanks in advance,
Neelesh K J Jain.
|
|
|
|
|
Neelesh K J Jain wrote:
Is there any method for the above problem or any keyword, which helps the programmer to avoid creating vtable for the class.
No. If you have a virtual function, there must be a vtable.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
I doubt you can do anything of that,
but incase if you were able to then your function would lose its advantage of being virtual and be as good as any other functions of your class.
If that's ok then why not to remove the virtual keyword of the function.
"Reading made Don Quixote a gentleman. Believing what he read made him mad"
- Nilesh
|
|
|
|
|
Neelesh K J Jain wrote:
I don't want the vtable to be created
Why you don't want to create VTABLE?, Any specfic reason!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
|
|
|
|
|
Actually I had been asked this question in one of my interview recently. My feeling is that if we could be able to avoid creating of Vtable, then I agree with the reply of Nilesh.
No use of having virtual functions itself.
So, I just wanted to know whether we can avoid creation of vtable, then how?
Neelesh K J Jain.
|
|
|
|
|
Neelesh K J Jain wrote:
I had been asked this question in one of my interview recently
Hain, What's the result, Are you selected or Not!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
|
|
|
|
|
The interviewer probably wanted you to talk about the novtable attribute.
This attribute is microsoft specific and is declared in front of the class name as __declspec(novtable) .
Giving this will not put the code in the constructor of the class to initialize the virtual table pointer of the class. But the virtual table will still be created.
« Superman »
|
|
|
|
|
__declspec(novtable)
e.g.
class __declspec(novtable) MyVBase {
...
};
...cmk
Save the whales - collect the whole set
|
|
|
|
|
It throw out the error mssage
"preprocessor command must start as first nonwhite space"
when I compile the xxx.cpp and I found that it can't find the class definition,but I do include the .h file.
I don't know what is meaning of error message
"preprocessor command must start as first nonwhite space".
BTW: I haven't changed the settings in my project!
Don't look at me in that way!
|
|
|
|
|
|
white jungle wrote:
I don't know what is meaning of error message
Preprocessor commands (such as #include and #define) must be the first thing on the line. You can have spaces/tabs in front of them, but nothing else.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
<br />
#include "StdAfx.h"<br />
#include "DbControl.h"<br />
<br />
#ifdef _DEBUG<br />
#define new DEBUG_NEW<br />
#endif<br />
<br />
CDbControl::CDbControl(void)<br />
{<br />
m_pConn=NULL;<br />
m_pRs=NULL;<br />
m_pConn=new CADOConnection();<br />
ASSERT(m_pConn!=NULL);<br />
}<br />
CDbControl::~CDbControl(void)<br />
{<br />
if(m_pConn)<br />
{<br />
delete m_pConn;<br />
m_pConn=NULL;<br />
}<br />
}<br />
............<br />
Here is my code,and you can see nothing beafore the number sign'#'
Don't look at me in that way!
|
|
|
|
|
Try deleting everything up to and including the stdafx.h include, then rewrite that include, and finally do a clean and rebuild all. Then search your entire project for #, to see if the problem is elsewhere, if need be.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
and how about into the files you include (stdAfx.h and DbControl.h) ?
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
What line is the preprocessor complaining about?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
I need to send keys to a application's UI. I looked at some of the examples, but I was hoping someone might have some more examples.
|
|
|
|
|
|
Would you help me?
How can I get the information about the access control of a Map Network Driver?The information includes read only or write only and so on.
Thanks.
|
|
|
|
|
For a C++ Programming Class (e.g. course in school) i have to make a simple simulation of a mouse that is trapped on an island and runs eradicly till it escapes or dies from drowning/starvation. for this project i was building a class (e.g. abstract dat type) to represent the square of land
<code>
#ifndef SQUARE_H
#define SQUARE_H
#include <iostream>
#include <windows.h>
using std::ostream;
enum DONS_SQUARE_TYPE {LAND, WATER, BRIDGE};
class square
{
public:
typedef DONS_SQUARE_TYPE type;
square(type = LAND);
bool isWater() const;
private:
type myType;
};
ostream& operator<< (ostream& ,square&);
#endif
<code>
is there any way by which i could not have to have DONS_SQUARE_TYPE floating around the global namespace but still have that constructor?
I tried doing a:
<code>
typedef enum {LAND, WATER, BRIDGE} type
<code>
but then i get 3 compiler errors saying undeclared identifier (LAND / WATER / BRIDGE) for the code:
square landS(LAND),
waterS(WATER),
bridgeS(BRIDGE);
please help, thanks.
|
|
|
|
|
You can define an enum inside a class. There's no need to typedef it - it's a type in it's own right.
|
|
|
|
|
but wont the enum's members (for lack of a better word) still be considered undeclared identifiers outside of the scope of the class?
|
|
|
|
|
Yes, but you can include the class scope operator to reference them from outside the class:
<br />
class square<br />
{<br />
enum squareType{LAND, WATER, BRIDGE};<br />
square(squareType type);<br />
};<br />
<br />
square a(square::LAND);<br />
square b(square::WATER);<br />
<br />
You can see an example of this in the MFC CFile class's open flags - CFile::modeCreate, CFile::modeWrite, etc.
Pssst. You see that little light on your monitor? That's actually a government installed spy camera. Smile and wave to big brother!
|
|
|
|
|
Hi,
I try to kill a dialog(CPropertySheet) in a friendly way
and need to do this from another thread.
I've tried using PostMessage etc...
and EndModalLoop, EndDialog...
But nothing seems to be working for me.
Any tip would be appreciated.
Koo
|
|
|
|