您的位置:首页 > 编程语言 > C语言/C++

C++学习——入门感悟

2016-09-04 19:00 232 查看
C++可以认为是C语言的增强版,尤其体现在结构体的扩展上,C++对C的扩展体现在两个方面:

(1)允许在结构体内部定义函数(方法),即在结构体内写出函数的定义,在C语言中,结构体没有这个功能;

(2)结构体内定义的函数可以直接访问结构体内定义的成员变量(属性):

定义文件person.cpp

#include <stdio.h>

typedef struct _person_struct {
char m_cName[20];
int m_iAge;
char m_cWork[20];
void printInfo(void)
{
printf("name = %s, work is %s, age = %d\n",m_cName, m_cWork, m_iAge);
}
}PERSON_STRUCT;

int main(int argc, char **agrv)
{
PERSON_STRUCT stPerson1 = {
"ZhangSan", 15, "teacher",
};
PERSON_STRUCT stPerson2 = {
"LiSi", 19, "doctor",
};

stPerson1.printInfo();
stPerson2.printInfo();
return 0;
}
调用g++ -o person person.cpp,编译通过。既然C++中的结构体功能更加强大,C++干脆定义了一个新的变量类型——类,类的特点更多,主要体现在继承性,封装性和多态性,后面具体分析。下面是用类表示的person.cpp
#include <stdio.h>

class Person {
public:
<span style="white-space:pre">	</span>char *name;
int age;
char *work;
void printInfo(void)
{
printf("name = %s, work is %s, age = %d\n",name, work, age);
}
};

int main(int argc, char **agrv)
{
Person person;
<span style="white-space:pre">	</span>person.name = "ZhangSan";
<span style="white-space:pre">	</span>person.work = "teacher";
<span style="white-space:pre">	</span>person.age = 19;
person.printInfo();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++