在C语言中,没有“类”的概念,但是可以由结构体struct构造出我们所需要的数据类型,struct可以组合不同的数据类型,可以看作是C语言中的“类”。
下面是C语言中的结构体的实例。
1 #include<stdio.h> 2 #include<string.h> 3 4 typedef struct Person{ 5 unsigned age; 6 char name[20]; 7 }person; 8 9 int main(void){ 10 person* xiao_ming = (person*)malloc(sizeof(person)); // 注意:p->q相当于(*p).q 11 (*xiao_ming).age = 13; 12 strcpy(xiao_ming->name,"xiao ming"); 13 printf("name is %s ",xiao_ming->name); 14 printf("age is %d",xiao_ming->age); 15 return 0; 16 }
在c++语言中则直接用class可以构造真正的类,并且实例化为对象。
下面是简单的实例。
1 #include<iostream> 2 #include<string> 3 #include<cstdlib> 4 #include<cstddef> 5 6 using namespace std; 7 class Person{ 8 public: 9 string name; 10 size_t age; 11 }; 12 13 class Shabi{ 14 public: 15 string name; 16 size_t age; 17 Shabi(string m,size_t a):name(m),age(a){cout<<"构造了..."<<endl;} 18 ~Shabi(){cout<<"析构了..."<<endl;} 19 }; 20 21 int main(){ 22 Person* xiao_ming = new Person(); 23 xiao_ming->name = "xiao ming"; 24 xiao_ming->age = 13; 25 cout<<"name is "<<xiao_ming->name<<endl<<"age is "<<xiao_ming->age<<endl; 26 Shabi liu_ya = Shabi("liu ya",21); 27 cout<<"shabi is "<<liu_ya.name<<endl<<"age is "<<liu_ya.age<<endl; 28 return 0; 29 }