为什么我甚至应该考虑C++中的结构? 在C++中声明结构是否有优势?我为什么不创建一个只包含数据成员的类呢。没有办法
谢谢,当你有一个所有东西都是公共的豆荚类型时,它会保存一条线为什么我甚至应该考虑C++中的结构? 在C++中声明结构是否有优势?我为什么不创建一个只包含数据成员的类呢。没有办法,c++,class,struct,C++,Class,Struct,谢谢,当你有一个所有东西都是公共的豆荚类型时,它会保存一条线 struct Color { int r; int g; int b; }; vs 对于只是简单的东西容器的对象来说,这也是一种常见的做法。Dumb意味着没有构造函数、运算符和方法。我最喜欢的原因是继承。考虑这个代码: class MyClass : public Base1, public virtual Base2 { public: void fun1() override; private:
struct Color {
int r;
int g;
int b;
};
vs
对于只是简单的东西容器的对象来说,这也是一种常见的做法。Dumb意味着没有构造函数、运算符和方法。我最喜欢的原因是继承。考虑这个代码:
class MyClass : public Base1, public virtual Base2 {
public:
void fun1() override;
private:
int m1;
};
现在用一个结构来考虑这个例子:
struct MyClass : Base1, virtual Base2 {
void fun1() override;
private:
int m1;
};
有些人说C++太冗长,但是当检查它们的代码时,它看起来更像第一个例子。我发现struct比class更容易阅读。在我的项目中,我在任何地方都使用struct
你应该问的问题是,为什么我应该考虑使用C++ C++中的类,因为IMO、StULTE是相同的但不是冗长的。有struct关键字,但它用于声明一个类。@KerrekSB这是我不知道的。使用“struct”关键字仅仅是定义仅由数据成员组成的类的一种替代方法吗?甚至不是。这只是定义类period的另一种方法。唯一的区别是默认的访问策略是public而不是private.Documentation。许多人在创建普通聚合数据时使用struct,在定义业务对象和数据抽象等时使用类。
struct MyClass : Base1, virtual Base2 {
void fun1() override;
private:
int m1;
};