33 lines
425 B
C
33 lines
425 B
C
// { dg-do run }
|
|
|
|
// Test that A's copy assignment method is called when B's instance
|
|
// member array of A is assigned.
|
|
|
|
// Contributed by Brian Gaeke, public domain.
|
|
int status = 1;
|
|
|
|
class A
|
|
{
|
|
public:
|
|
int i;
|
|
A &operator =(const A &i)
|
|
{
|
|
status = 0;
|
|
}
|
|
};
|
|
|
|
class B
|
|
{
|
|
public:
|
|
A arr[10];
|
|
};
|
|
|
|
int main (int argc, char **argv)
|
|
{
|
|
B b;
|
|
b.arr[0].i = 15;
|
|
B a;
|
|
a = b; // trigger copy assignment
|
|
return status;
|
|
}
|