OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.robertl/] [eb46.C] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 jlechner
// { dg-do run  }
2
#include 
3
 
4
class A1 {
5
        friend class B;
6
 public:
7
        virtual void foo() {};
8
};
9
 
10
class A2 : public virtual A1 {friend class B;};
11
 
12
class A3 : public virtual A1, private A2 {friend class B;};
13
 
14
class B
15
{
16
 public:
17
        B(A1* a) : itsA(dynamic_cast(a)) {};
18
        A2* itsA;
19
};
20
 
21
int main()
22
{
23
        A1* a=new A3;
24
        B b(a);
25
 
26
        if (b.itsA)
27
          std::cout << "cast ok" << std::endl;
28
        else
29
          std::cout << "cast failed" << std::endl;
30
        return 0;
31
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.