指针还是变量?

时间:2013-03-26 13:03:43

标签: c++ pointers struct base-class

最近,我正在学习MFC,下面的代码让我很困惑:

  class CRect : public tagRECT
{
public:

// Constructors

// uninitialized rectangle
CRect();
// from left, top, right, and bottom
CRect(int l, int t, int r, int b);
// copy constructor
CRect(const RECT& srcRect);
// from a pointer to another rect
CRect(LPCRECT lpSrcRect);
// from a point and size
CRect(POINT point, SIZE size);
// from two points
CRect(POINT topLeft, POINT bottomR
...

CRect的基类是一个结构!我以前从没学过这个。如果我打电话

  

CWnd :: GetClientRect(LPRECT lpRect);

我可以使用 rect & rect (CRect rect)作为参数。太棒了!

我想知道有关struct base的类的一些规则。谢谢!

1 个答案:

答案 0 :(得分:5)

在C ++中,类和结构是相同的,除了它们关于成员的继承和访问级别的默认行为。

C ++类 默认继承=私有 成员变量和函数的默认访问级别= private

C ++ struct 默认继承= public 成员变量和函数的默认访问级别= public

简而言之,是的,类可以继承C ++中的struct。