Click here to Skip to main content
15,920,438 members
Home / Discussions / Managed C++/CLI
   

Managed C++/CLI

 
QuestionControl within a control help please [modified] Pin
Xpnctoc11-Aug-07 6:54
Xpnctoc11-Aug-07 6:54 
Questionassignment vs default ctor Pin
swjam11-Aug-07 5:19
swjam11-Aug-07 5:19 
AnswerRe: assignment vs default ctor Pin
Mark Salsbery11-Aug-07 6:55
Mark Salsbery11-Aug-07 6:55 
Questionoperator++(int) Pin
swjam11-Aug-07 4:58
swjam11-Aug-07 4:58 
AnswerRe: operator++(int) Pin
Mark Salsbery11-Aug-07 6:58
Mark Salsbery11-Aug-07 6:58 
AnswerRe: operator++(int) Pin
BadKarma11-Aug-07 23:48
BadKarma11-Aug-07 23:48 
QuestionRTTI dynamic_cast Pin
swjam11-Aug-07 0:45
swjam11-Aug-07 0:45 
AnswerRe: RTTI dynamic_cast [modified] Pin
swjam11-Aug-07 0:51
swjam11-Aug-07 0:51 
sorry I just found out the solution, to use dynamic_cast on an expression the underlying object must have at least 1 virtual function.
D'Oh! | :doh:


-- modified at 7:49 Saturday 11th August, 2007

however the following is supposed to cause a runtime exception but doesn't:

<br />
class E<br />
{<br />
public:<br />
  void func()<br />
  {<br />
    cout << "func from E" << endl;<br />
  }<br />
};<br />
<br />
class F<br />
{<br />
public:<br />
  void func()<br />
  {<br />
    cout << "func from F" << endl;<br />
  }<br />
};<br />
<br />
<br />
void f()<br />
{<br />
   E* pe = new E;<br />
   F* pf = dynamic_cast<F*>(pe);      // fails, not safe; <br />
                                      // B not derived from A<br />
}



as well as the following (works but shouldn't because pB is just an instance of B)


<br />
#include "stdafx.h"<br />
<br />
using namespace std;<br />
<br />
<br />
class B <br />
{<br />
public:<br />
  int BMem;<br />
  void funcB()<br />
  {<br />
    BMem = 2;<br />
    cout << "funcB: " << BMem << endl;<br />
  }<br />
};<br />
<br />
class D : public B <br />
{ <br />
public:<br />
  int DMem;<br />
  void funcD()<br />
  {<br />
    DMem = 4;<br />
    cout << "funcD: " << DMem << endl;<br />
  }<br />
<br />
};<br />
<br />
void f(B* pb, D* pd)<br />
{<br />
    D* pd2 = static_cast<D*>(pb);        // not safe, pb may<br />
                                         // point to just B<br />
    pd2->funcD();<br />
<br />
    B* pb2 = static_cast<B*>(pd);        // safe conversion<br />
    pb2->funcB();<br />
}<br />
<br />
int main()<br />
{<br />
  cout << "Main - Start" << endl;<br />
<br />
  B* pB = new B;<br />
  D* pD = new D;<br />
<br />
  f(pB, pD);<br />
<br />
  cout << "Main - End" << endl;<br />
}<br />


its output is:
<br />
Main - Start<br />
funcD: 4<br />
funcB: 2<br />
Main - End<br />





-- modified at 8:36 Saturday 11th August, 2007

I am a SysAdmin, I battle my own daemons.

QuestionIn C++/CLI, What has replaced LOGFONT and TEXTMETRIC? Pin
BuckBrown10-Aug-07 12:05
BuckBrown10-Aug-07 12:05 
QuestionHow do you get screen graphics into Document? Pin
BuckBrown9-Aug-07 9:54
BuckBrown9-Aug-07 9:54 
AnswerRe: How do you get screen graphics into Document? Pin
Luc Pattyn9-Aug-07 10:40
sitebuilderLuc Pattyn9-Aug-07 10:40 
GeneralRe: How do you get screen graphics into Document? Pin
BuckBrown9-Aug-07 11:05
BuckBrown9-Aug-07 11:05 
GeneralRe: How do you get screen graphics into Document? Pin
Luc Pattyn9-Aug-07 11:18
sitebuilderLuc Pattyn9-Aug-07 11:18 
GeneralRe: How do you get screen graphics into Document? Pin
BuckBrown9-Aug-07 11:40
BuckBrown9-Aug-07 11:40 
GeneralRe: How do you get screen graphics into Document? Pin
Luc Pattyn9-Aug-07 11:42
sitebuilderLuc Pattyn9-Aug-07 11:42 
Questiondirectx Pin
saisp8-Aug-07 18:22
saisp8-Aug-07 18:22 
Questionc++ projects Pin
Reet Dhiman7-Aug-07 23:43
Reet Dhiman7-Aug-07 23:43 
AnswerRe: c++ projects Pin
iddqd5158-Aug-07 3:26
iddqd5158-Aug-07 3:26 
AnswerRe: c++ projects Pin
originSH8-Aug-07 6:10
originSH8-Aug-07 6:10 
GeneralRe: c++ projects Pin
Karismatic8-Aug-07 20:24
Karismatic8-Aug-07 20:24 
GeneralRe: c++ projects Pin
originSH9-Aug-07 4:28
originSH9-Aug-07 4:28 
AnswerRe: c++ projects Pin
Jonathan [Darka]10-Aug-07 4:48
professionalJonathan [Darka]10-Aug-07 4:48 
Questioncannot convert parameter 1 from 'cli::array ^' to 'cli::array ^' Pin
BuckBrown7-Aug-07 12:03
BuckBrown7-Aug-07 12:03 
AnswerRe: cannot convert parameter 1 from 'cli::array ^' to 'cli::array ^' Pin
Luc Pattyn7-Aug-07 14:22
sitebuilderLuc Pattyn7-Aug-07 14:22 
GeneralRe: cannot convert parameter 1 from 'cli::array ^' to 'cli::array ^' Pin
BuckBrown8-Aug-07 5:37
BuckBrown8-Aug-07 5:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.