類是特殊的結構體,用法只有一點不同:
類中成員默認是私有的,結構體默認是公有的
在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
}