|
Hi _8086,
I think Subclasses means derived class.
regards,
George
|
|
|
|
|
Hi George, thanks a lot.
----------------------------
286? WOWW!
|
|
|
|
|
Thanks Nemanja,
I have studied the link. Great!
Two more comments,
1.
What do you mean "even if they are not meant to be called ouside of the class"? Could you provide more description or provide sample code please?
2.
Nemanja Trifunovic wrote: they can be private
What do you mean "they"? What methods do "they" cover in the sample code of class Game?
regards,
George
|
|
|
|
|
George_George wrote: Why do we need to fine a virtual function as private?
The classic answer, because you don't want to expose everything to the world?
See this example:
class base
{
public:
void Interface()
{
Implementation();
}
private:
virtual void Implementation(void)
{
cout<<"Haha lol I am private - Base"<<endl;
}
};
class der:public base
{
void Implementation(void)
{
cout<<"I am private too - Derived"<<endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
base bs;
bs.Interface();
der dr;
dr.Interface();
return 0;
}
George_George wrote: As special functions we can achieve and any special limitaitons?
Here, the virtual functions are visible down through the hierarchy to the child classes, but only the base would actually get to access it!
Please see this[^] and this one[^] too.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Thanks Rajesh,
So, the guideline should be, making virtual function private, and if we need to call virtual function from base class in derived class, then making virtual function protected? Right?
regards,
George
|
|
|
|
|
Hi,
I have two different dialog based VC++ project called Main & sub.
When a OK button of Main project is clicked I want Dialogbox of Sub to be executed.
Can anybody help.
Thanks,
Bala.
bala_potty
|
|
|
|
|
hi everyone,
good afternoon to all.i am writing one OCX file.in that file i am doing read and write functions. and in another project i am using that OCX.When i am passing parameters to that function then that time values taking as null.in runtime when i given some values to that parameters that time also they are takingas null only.in VC++ how can i pass the parameters by refence please Tell me i am in tension.please.
in OCX file write function is
WriteBlk(LPCTSTR MemId, LPCTSTR MemName, LPCTSTR eDate, LPCTSTR Balance, LPCTSTR TagId);<br />
and in my main project write block is like this:<br />
writeBlk(m_Memid,m_Memname,m_eDate,m_cBalance,m_Tadid);
these variables are of type CString
Thanku in advance,
savitri.
|
|
|
|
|
|
_8086 wrote: Shame
writeBlk(&m_Memid,&m_Memname,&m_eDate,&m_cBalance,&m_Tadid);
delete it before the OP reply the shame to you.
|
|
|
|
|
thanku for helping me.but by using like this i am getting error like this:
error C2664: 'WriteBlk' : cannot convert parameter 2 from 'class CString *' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.
Please tell me how shall i pass the parameters.
Thanku in advance,
savitri
|
|
|
|
|
use (const char*) CString. or
char temp[256];
CString cs;
cs.getBuffer(temp,cs.getLength());
cs.ReleaseBuffer();
Now pass the temp.
----------------------------
286? WOWW!
|
|
|
|
|
_8086 wrote: use (const char*) CString
Yes
_8086 wrote: char temp[256];
CString cs;
cs.getBuffer(temp,cs.getLength());
cs.ReleaseBuffer();
Now pass the temp.
No. The temp variable returned by GetBuffer is only guaranteed to be valid up until the time that ReleaseBuffer is called. It is designed to be used when modifying the value of the CString, not for just passing a const pointer.
Judy
|
|
|
|
|
hello,
thanks for giving some solution.but please tell me that in which i use this code in OCX or in my project.now i am used that in OCX like this:
CString dStr;
char temp[100];
dStr.getbuffer(temp,dStr.getLength());
but it is giving error like this:
ACR120RWCtl.cpp(810) : error C2660: 'GetBuffer' : function does not take 2 parameters.
So please will u tell me how can pass the parameters.i am not getting back the result to the form.please HELP me.
Thanku,
savitri
|
|
|
|
|
can anybody tell me how to execute an exe from my application in vc++.i tried with winexec but was not able to execute my exe but it worked for executing Notepad.exe..... can anybody help
|
|
|
|
|
philiptabraham wrote: tried with winexec but was not able to execute my exe but it worked for executing Notepad.exe
So why can't you just show us what you tried? Are we supposed to guess how you're writing code?
Also, consider using ShellExecute[^].
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
use CreateProcess or ShellExecute, Does your exe normally runs when you execute it not programmatically.
|
|
|
|
|
Have you read this?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
ThatsMe. wrote: please help me its urgent.
Its better to avoid doing the above task in urgent. Otherwise since it is context sensitive help you end up with incorrect context.
If you are not in urgent give a precise subject and modify the message following guidelines[^] to get an answer
|
|
|
|
|
Rajkumar R wrote: Its better to avoid doing the above task in urgent. Otherwise since it is context sensitive help you end up with incorrect context.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
ThatsMe. wrote: its urgent
That is considered rude on this site.
"Any sort of work in VB6 is bound to provide several WTF moments." - Christian Graus
|
|
|
|
|
Hi all,
I want to convert CString to WCHAR;
i have done this:-
WCHAR wsz[MAX_PATH];
CString szLinkName = _T("Test Mail");
MultiByteToWideChar(CP_ACP, 0, (LPCSTR)(LPCTSTR)szLinkName, -1,
wsz, MAX_PATH);
but i only get "T" in wsz i.e first element....
I am working in VC2005
Can anybody help me in this...
Thanks in advance
|
|
|
|
|
This is the Gabababazillionth time this question is asked. Please learn to use Google[^].
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
neha.agarwal27 wrote: MultiByteToWideChar(CP_ACP, 0, (LPCSTR)(LPCTSTR)szLinkName, -1, wsz, MAX_PATH);
how and why do you decided to use MultiByteToWideChar here?
|
|
|
|
|
Why do it the hard way when there are macros in ATL to do it for you.
#include <atlconv.h>
void MyFunc(WCHAR* s)
{
USES_CONVERSION;
CString str = W2T(s);
}
Just make sure you don't use W2T() in a loop since it allocate memory from the stack.
then use W2T_EX instead and USES_CONVERSION_EX;
|
|
|
|