2011.11.30.C++ for Intel
.pdfC++:наследование
class Object |
class Circle : public Object |
class Ball : public Circle |
{ |
{ |
{ |
public: |
public: |
public: |
|
// Constructor |
// Constructor |
|
Circle(void); |
Ball(void); |
// Destructor |
|
|
virtual |
protected: |
protected: |
~Object(void) = 0; |
int x, y; |
int z; |
// Initialize the object |
int radius; |
float delta; |
virtual |
}; |
int k; |
res Init(…) = 0; |
|
}; |
// Draw the object |
|
|
virtual |
|
|
void Draw(…) = 0; |
|
|
// Close the object |
|
|
virtual |
|
|
void Close(…) = 0; |
|
|
}; |
|
|
C++:наследование
|
|
struct FuncTable for Ball |
|
|
|
|
|
vtable |
|
Init |
|
x |
|
Draw |
|
y |
|
~Ball |
|
radius |
|
Volume |
|
z |
|
|
|
delta |
|
|
|
k |
|
|
|
C++:наследование
|
|
struct FuncTable for Ball |
|
|
|
|
|
vtable |
|
Init |
|
x |
|
Draw |
|
y |
|
~Ball |
|
radius |
|
Volume |
|
z |
|
|
|
delta |
|
|
|
k |
|
|
|
C++: конструкция объекта
struct FuncTable for Ball |
Ball::Ball |
|
|
|
|
|
|
|
|
|
|
|
|
|
Ball::Draw
Ball::~
struct FuncTable for Circle |
Ball::Volume |
|
|
|
|
|
|
|
|
|
|
|
|
|
Circle:: Circle |
|
Circle::~ |
|
Circle::Draw |
|
Circle::Init |
|
|
|
|
|
|
|
C++: деструкция объекта
struct FuncTable for Ball |
Ball::Ball |
|
|
|
|
|
|
|
|
|
|
|
|
|
Ball::Draw
Ball::~
struct FuncTable for Circle |
Ball::Volume |
|
|
|
|
|
|
|
|
|
|
|
|
|
Circle:: Circle |
|
Circle::~ |
|
Circle::Draw |
|
Circle::Init |
|
|
|
|
|
|
|
С++: ничего сложного
Пожелания
•Учите ассемблер
•Пишите часто на С и С++ для себя
•Думайте, как бы реализовали это вы