Documente Academic
Documente Profesional
Documente Cultură
1 20 points Save
Analizati cu atentie urmatorul fragment de cod sursa. Alegeti observatia corecta ?
class Sir
{
int len;
char *p;
public:
Sir(char * s=NULL)
{
p = NULL;
len =0;
if(s)
{
len = strlen(s);
p = new char[len+1];
strcpy_s(p,len+1, s);
}
}
~Sir(){ if (p) delete[] p; }
};
while(true)
{
Sir * ps = new Sir("Programare in C++");
delete ps;
}
return 0;
}
class Clasa2
{
public:
~Clasa2(){ cout<<"C2::~C2()"<<endl;}
};
class System
{
Clasa1 ob1;
Clasa2 ob2;
public:
System():ob2(),ob1(){ }
virtual ~System(){ cout<<"S::~S()"<<endl;}
};
int main (int argc, char* argv[])
{
System a;
return 0;
}
C2::~C2()
C1::~C1()
S::~S()
C1::~C1()
C2::~C2()
S::~S()
S::~S()
S::~S()
C1::~C1()
C2::~C2()
S::~S()
C2::~C2()
C1::~C1()
};
class Clasa2
{
public:
Clasa2() { cout<<"C2::C2()"<<endl;}
};
class System
{
Clasa1 ob1;
Clasa2 ob2;
public:
System() { cout<<"S::S()"<<endl;}
};
int main (int argc, char* argv[])
{
System a;
return 0;
}
S::S()
C1::C1()
C2::C2()
S::S()
C2::C2()
C1::C1()
C1::C1()
C2::C2()
S::S()
S::S()
C1::C1()
C2::C2()
class A{
public:
void m(){cout<<"A:m()"<<endl;};
virtual void v(){cout<<"A:v()"<<endl;};
};
class B: public A{
private:
void m(){cout<<"B:m()"<<endl;};
virtual void v(){cout<<"B:v()"<<endl;};
};
void main(){
A a,*p;
B b;
b.m();
b.v();
p=&a;
b.m();
p->m();
p->v();
class Complex;
class Punct{
public:
Punct(float x=0, float y=0):x(x),y(y){}
operator Complex();
operator float(){return x;}
private:
float x,y;
};
class Complex{
public:
Complex(float x=0, float y=0):x(x),y(y){}
operator Punct(){return Punct(x,y);}
operator float(){return x;}
private:
float x,y;
};
class AbstractList{
public:
class AbstractList{
public:
class C{
public:
C(int n=0, int v[]);
friend ostream& operator<<(ostream &o, const C&);
private:
int dim;
int *pi;
};
}
Programul afiseaza:
100 2 3
-100 2 3
10 20
1 2 3
Diagrama de caz
Diagrama de activitãþi
Diagrama de stari
Diagrama de secventa
Diagrama de caz
Diagrama de activitãþi
Diagrama de stãri
Diagrama de secventã