//BY:雲瑜
#include <iostream>
using namespace std;
struct MyStruct
{
int num;
};
typedef struct MyTypedefStruct
{
int num;
}MyTypedefStruct;
//(*使用typedef struct 後面一定要給個定義
//然後就不用寫 struct MyTypedefStruct ???了(僅對C……)
//*)直接寫 MyTypedefStruct ???就可以了……
class MyClass
{
public: //class默認是private的,struct默認是public的
int num; //class可以直接賦值,但僅限靜態常量,struct不可以!
static const int mynum = 100;
};
typedef class MyTypedefClass //没有必要使用typedef class
{
public:
int num;
}MyTypedefClass;
int main()
{
//(*使用struct
struct MyStruct my_struct;
// MyStruct my_struct; //這樣的使用方法在C中是錯誤的,在C++是行得通的
my_struct.num = 100;
cout<<"struct:" <<my_struct.num <<endl;
//*)
//(*使用 typedef struct
MyTypedefStruct my_typedef_struct;
my_typedef_struct.num = 200;
cout<<"typedef struct:" <<my_typedef_struct.num <<endl;
//*)
//(*使用class
MyClass my_class;
my_class.num = 300;
cout<<"class:" <<my_class.num <<endl;
//*)
//(*使用typedef class
MyTypedefClass my_typedef_class;
my_typedef_class.num = 400;
cout<<"typedef class:" <<my_typedef_class.num <<endl;
//*)
return 0;
}