C++ class和struct的区别?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++ class和struct的区别?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1134字,纯文字阅读大概需要2分钟。
内容图文
![C++ class和struct的区别?](/upload/InfoBanner/zyjiaocheng/635/e18fd7b9537c4c918d510fa4e09eaa75.jpg)
C++ 中保留了C语言的struct关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。
struct能包含成员函数吗? 能!
struct能继承吗? 能!!
struct能实现多态吗? 能!!!
#include <iostream>
using namespace std;
struct A
{
public:
A() { cout << "A construct..." << endl;}
virtual ~A(){ cout << "A deconstruct..." << endl;}
};
struct B: public A
{
public:
B() { cout << "B construct..." << endl;}
~B(){ cout << "B deconstruct..." << endl;}
};
int main()
{
A *a = new B();
delete a;
return 0;
}
// A construct...
// B construct...
// B deconstruct...
// A deconstruct...
C++中的 struct 和 class 基本是通用的,唯有几个细节不同:
使用 class 时,类中的成员默认都是 private 属性的;而使用 struct 时,结构体中的成员默认都是 public 属性的。
class 继承默认是 private 继承,而 struct 继承默认是 public 继承。
class 可以使用模板,而 struct 不能。
C++ 没有抛弃C语言中的struct关键字,其意义就在于给C语言程序开发人员有一个归属感,并且能让C++编译器兼容以前用C语言开发出来的项目。
在编写C++代码时,我强烈建议使用 class 来定义类,而使用 struct 来定义结构体,这样做语义更加明确。
内容总结
以上是互联网集市为您收集整理的C++ class和struct的区别?全部内容,希望文章能够帮你解决C++ class和struct的区别?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。