C中struct只可以放成员变量,没有访问权限限制,外部可以访问;
C++中struct用法对C中struct进行了扩展,功能与class类似,可以放成员函数,可以被继承,所有成员数据默认权限为public,struct不可以定义无参的构造函数。
C++中Class默认权限为private,可以定义无参构造函数,struct主要在这些方面与其不同。
下面是段程序
#include<iostream>
using namespace std;
struct A{
int a;//默认权限为public
A(int avalue){//不可以有无参构造函数
a = avalue;
}
};
struct B:public A{
int b;
B(int bvalue,int avalue):b(bvalue),A(avalue){//struct可以被继承
}
};
int main(){
B b(1,2);
cout<<"b:"<<b.b<<";a:"<<b.a<<endl;
return 0;
}
运行结果:b:1;a:2