c++-類與結構體

類是特殊的結構體,用法只有一點不同:

類中成員默認是私有的,結構體默認是公有的

在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
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章