C没有C++样式的访问修饰符.AC struct只是一个包含其他对象类型成员的复合对象类型.
在C++中,struct和一个class是几乎相同的; 唯一的区别是public默认情况下结构成员是默认的,而类成员是private默认的.所以这:
struct foo {
private:
// ...
};
Run Code Online (Sandbox Code Playgroud)
相当于:
class foo: {
// ...
};
Run Code Online (Sandbox Code Playgroud)
这意味着private,public和protected关键字是在任何一个同样有效的struct定义或class定义.
另一方面,作为编程风格的问题,如果你要使用访问修饰符,最好将你的类型定义为a class而不是a struct.意见将有所不同,但恕我直言,struct关键字应该用于POD(普通旧数据)类型,或者可以struct在C中定义为s的类型.
严格地说,C++结构与C结构非常不同,并且与C++类几乎完全相同.但是,如果我将C++中定义的内容视为a struct,我希望(或者至少更喜欢)它与C类似struct.
| 归档时间: |
|
| 查看次数: |
11983 次 |
| 最近记录: |