c++中的struct和class的区别是啥??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中的struct和class的区别是啥??相关的知识,希望对你有一定的参考价值。
struct A
;
class A
;
它们2个都可以生成对象。。有啥区别啊??
3Q
在C++中都表示类,唯一的区别是默认的访问权限不同。struct默认的访问权限是public,class默认的访问权限是private。
测试代码:
#include <iostream>struct A
//相当于省略了public:
void f() return;
;
class B
//相当于省略了private:
void f() return;
;
int main()
A a;
B b;
a.f(); //成功调用
b.f(); //出错
return 0;
参考技术A 区别就是:struct如果不写访问权限的话,默认是public。而class默认是private,除此之外两者完全相同。本回答被提问者采纳 参考技术B 区别主要在于二者的访问权限,struct的默认访问权限是public,而已class则是private,另外struct不能像class那样继承 参考技术C 现在的C++编译器,会将struct转为class解释,所以这个层面没有区别。
struct默认成员访问权限public,class为private 参考技术D 只是数据的权限不同
struct和class在C++和C#中的区别
// C++和CShape struct和class的区别.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
int main()
{
/*
* 在C++中可以用struct和class来定义类型。这两种类型有什么区别?
* 如果没有标明成员函数或者成员变量的访问权限级别,那么在struct中默认的是public,而在class中默认是private。
* ========================================================================================================
* 那在C#中呢?
* C#和C++不一样。在C#中如果没有标明成员函数或者成员变量的访问权限级别,则在struct和class中都是private的。
* struct和class的区别是:
* struct定义的是值类型,值类型的实例在栈上分配内存;
* 而class定义的是引用类型,引用类型的实例在堆上分配内存。
*/
return 0;
}
以上是关于c++中的struct和class的区别是啥??的主要内容,如果未能解决你的问题,请参考以下文章