-1

最近在学习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 类的规则。谢谢!

4

1 回答 1

5

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

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

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

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

于 2013-03-26T13:05:31.087 回答