1. 程式人生 > >C++中class定義類的簡單應用

C++中class定義類的簡單應用

#include<iostream>
using namespace std;
class stu{
/*定義類 */
	protected:
	/*保護 ,不能被類外成員訪問 */
	  int high;
	  int weight;
	private:
	/*私有 ,不能被類外成員訪問 */
	  int sco;
	public:
	/*公有 ,能被類外成員訪問*/ 
	  string name;
	
	friend int sco(stu s);
	/*定義友元 */
	
	public:
	/*定義成員函式*/
	
	  /*讀入 */ 
	  void print_data()
	  
	  {
	  	cout<<"Student: ";
	    cout<<name;
	    cout<<endl<<"High: "<<high;
	    cout<<endl<<"Weight: "<<weight;
	  }
	  
	  /*讀出*/
	  void get_data()
	   
	  {
	  	cout<<"\nName: ";
	    cin>>name;
	    cout<<"Score: ";
	    cin>>sco;
	    cout<<"High: ";
	    cin>>high;
	    cout<<"Weight: ";
	    cin>>weight;
	  }
};


/*友元函式不是任何類的成員,需要單獨定義*/ 
int sco(stu s)
{
	cout<<endl<<"Score: ";
	return s.sco;
}

int main()
{
	stu xiao_ming;
	
	cout<<"Input your data:";
	/*利用成員函式讀入資料*/
	xiao_ming.get_data(); 
	
	/*
	xiao_ming.name="shen_ben";//合法 
	xiao_ming.sco=400;//非法,類外訪問private 
	xiao_ming.high=-1;//非法,類外訪問protected 
	xiao_ming.weight=1000000;//非法,同上 
	*/
	
	/*利用成員函式讀出資料*/ 
	xiao_ming.print_data();
	/*利用友元函式輸出私有的資料 ,這裡運用了返回值的方式*/ 
	cout<<sco(xiao_ming);
	return 0;
}