C++の構造体
こうぞうたい
1、概要:
構造体にとって、C言語には存在し、それはクラスの原型と言える.クラスはこの由来に由来していると言える.構造体とクラスは最も一般的な2つの違いがある.1つはキーワードが異なり、2つ目の構造体ではデフォルトのアクセス属性はpublicであり、クラスのデフォルトアクセス属性はprivateである.
2、特徴
a).C++では、構造体変数を定義する場合、キーワードstructを省略することができる(構造体変数を定義する場合、構造体キーワードstructを省略することができる).
b).一方、C言語では構造体が定義ており、構造体によって構造体変数が定義場合、キーワードstructを省略することはできない.
c).また、C++の構造体では関数を定義することもできますが、C言語ではできません.
3、フォーマットの定義
struct構造体名
{
//連体メンバー、メンバー変数でもメンバー関数でもいいですよ
};//“;”このセミコロンは捨ててはいけませんよ、覚えておいてください
4、例コード:
1、概要:
構造体にとって、C言語には存在し、それはクラスの原型と言える.クラスはこの由来に由来していると言える.構造体とクラスは最も一般的な2つの違いがある.1つはキーワードが異なり、2つ目の構造体ではデフォルトのアクセス属性はpublicであり、クラスのデフォルトアクセス属性はprivateである.
2、特徴
a).C++では、構造体変数を定義する場合、キーワードstructを省略することができる(構造体変数を定義する場合、構造体キーワードstructを省略することができる).
b).一方、C言語では構造体が定義ており、構造体によって構造体変数が定義場合、キーワードstructを省略することはできない.
c).また、C++の構造体では関数を定義することもできますが、C言語ではできません.
3、フォーマットの定義
struct構造体名
{
//連体メンバー、メンバー変数でもメンバー関数でもいいですよ
};//“;”このセミコロンは捨ててはいけませんよ、覚えておいてください
4、例コード:
struct Person
{
public:
char sName[60];
int nAge;
void show()
{
cout<<" : "<<sName<<" : "<<nAge<<" , !"<<endl;
}
}; //;
void StructFun2()
{
struct Person px = {" ",30}; //c type
px.show();
Person pp = {"weikangc",26}; //c++ type
pp.show();
}
void StructFun()
{
struct Student
{
char Name[32];
int Age;
void SetName(char* chName)
{
memset(Name,0,32);
strcpy(Name,chName);
}
void SetAge(int nAge)
{
Age = nAge;
}
void ShowInfo()
{
cout<<"Name :"<<Name<<" Age: "<<Age<<endl;
}
};
struct Student stu = {"weikangc",26}; //C
Student stu2 = {"weikangc",27}; //C++ .
stu.ShowInfo();
stu2.ShowInfo();
stu.SetName("guoxiaoheng");
stu.SetAge(25);
stu.ShowInfo();
}