, .
++ public private. . (public) - - . (private) -, . , .
- - , .. , -, .
, , , .
2 -
( ),
( ).
, , , . .
, (constructors).
-, . - , . , :
1. .
2. .
:
class Point
{
public:
//
Point ();
double GetX () const;
double GetY () const;
private:
double m_x, m_y;
};
//
Point::Point ()
{
m_x = m_y = 0.0;
}
:
. . . :
1. ( ):
Stack g_Stack(10); // main()
// Stack::Stack(& g_Stack, 10);
int main ()
{
//...
}
2. ( ):
int main ()
{
Stack s(10); // :
|
|
// Stack::Stack(& s, 10);
//...
}
3. ( ):
void f ()
{
static Stack s(10); // :
// Stack::Stack(& s, 10);
// f()!
//...
}
int main ()
{
f();
f();
}
4. :
int main ()
{
Stack * pStack = new Stack(10);
// :
// Stack * pStack = (Stack *)::operator new(sizeof(Stack))
// Stack::Stack(pStack, 10);
//...
delete pStack; // ,
}
:
- ;
- :
, ,
, , , . ( - .) ( , .) .
:
, , , . . , , . , . , , , .