struct是为了兼容C。
这里简要介绍下struct和class的异同点,面试时说出这几点即可。
相同点:
struct也是一种class,也可以创建对象,也可以有构造、析构函数,也可以使用public、private、protected来封装对象。不同点:
struct默认是public级别,也就是没有封装的概念,其内部成员变量、函数的实现细节全部暴露给外界。
Tips
struct中也可以使用private、protect来封装对象。
下附一个小demo
struct Test {
private:
int data;
char *name;
public:
Test(int data, char *name) {
this->data = data;
this->name = new char[strlen(name)];
strcpy(this->name, name);
}
int getData() {
return data;
}
char* getName() {
return name;
}
};
int main()
{
Test test(1, (char*)"test");
cout<<test.getName(); //test
return 0;
}