类是特殊的结构体,用法只有一点不同:
类中成员默认是私有的,结构体默认是公有的
在c++中结构体中也可以有成员函数,在c中不可以
在c++中结构体可以使用类的定义去定义,在c中必须要加struct
看一个struct的代码:
#include <iostream>
using namespace std;
struct A
{//默认是public
int a_, b_, c_;
void Init(int a, int b, int c)
{
a_ = a;
b_ = b;
c_ = c;
}
void display()
{
cout<<a_<<" "<<b_<<" "<<c_<<endl;
}
};
int main()
{
A a={1,2,3}; //c++ 可以这样定义,c中不可以
struct A a1 = {2,3,4}; //c中定义
a.display(); //1 2 3
a1.display(); //2 3 4
}
看一个类的代码:
#include <iostream>
using namespace std;
class A
{//默认是private
int a_, b_, c_;
void Init(int a, int b, int c)
{
a_ = a;
b_ = b;
c_ = c;
}
void display()
{
cout<<a_<<" "<<b_<<" "<<c_<<endl;
}
};
class B
{//默认是private
public:
int a_, b_, c_;
void Init(int a, int b, int c)
{
a_ = a;
b_ = b;
c_ = c;
}
void display()
{
cout<<a_<<" "<<b_<<" "<<c_<<endl;
}
};
int main()
{
//A a={1,2,3}; //私有不能这样调用
B b = {1,2,3}; //将类的成员声明为public ,和struct一样的效果
b.display(); //1,2,3
}