C++面向对象:指针变量与成员函数的使用

需积分: 9 33 下载量 7 浏览量 更新于2024-08-23 收藏 5.33MB PPT 举报
"这篇资料主要介绍了C++面向对象程序设计中的一个重要概念——给指针变量赋初值,并给出了具体的使用示例。同时,该资料涵盖了C++的基础知识,包括从C到C++的发展历程,C++语言的词法和词法规则,以及面向对象的关键特性。" 在C++中,指针是一种强大的工具,它可以用来存储对象的内存地址,从而实现对对象的间接访问。给指针变量赋初值是使用指针的关键步骤,确保指针正确指向需要的内存位置。在描述中提到的语法“指针变量名 = & 类名::成员函数名;”是用来将指针变量初始化为类的某个成员函数的地址。这在使用函数指针调用类的成员函数时非常有用。 例如,如果我们有一个名为`MyClass`的类,它有一个成员函数`myFunction`,我们可以这样赋值: ```cpp MyClass obj; MyClass::myFunction *ptr = &MyClass::myFunction; ``` 这里,`ptr`现在存储了`myFunction`的地址。接下来,我们可以通过指针调用成员函数,语法为`(对象名.*指针变量名)([实参表])`。这个语法表明`*`后面是一个指针变量,它将被用来调用指定对象的成员函数。如果没有实参,实参表可以省略。例如: ```cpp obj.*(ptr)(); ``` 这段代码会通过`ptr`指针调用`obj`对象的`myFunction`成员函数。 C++的发展历程显示了它从C语言的演变,逐渐加入了面向对象的特性,如类、对象、继承、多态等。C++最初是作为C的预编译器,后来逐渐发展成为一个完整的编译系统,不断引入新特性,如模板、异常处理和命名空间,直至成为ANSI/ISO标准。 C++的词法和词法规则定义了语言的基本构建块。关键词如`int`、`float`、`if`等是保留字,具有特定含义。标识符是程序员自定义的名称,必须遵循特定规则,如首字符不能是数字,且区分大小写。运算符如`+`、`-`、`*`、`/`等执行特定的计算操作,而分隔符如`;`、`,`、`(`、`)`则用于分隔和组织代码的不同部分。 C++不仅支持面向过程的编程,还引入了面向对象编程的机制,如类和对象,使得代码更加模块化和易于维护。类定义了数据结构和相关操作,对象是类的实例,可以直接调用类中定义的成员函数。此外,C++还提供了运算符重载、继承与派生、虚函数等功能,以支持更灵活的编程风格和复用代码。 通过学习C++,开发者可以掌握这两种不同的编程范式,既能够编写传统的结构化程序,也能创建复杂的面向对象系统。因此,理解和熟练使用指针变量赋初值等核心概念,对于深入理解C++编程至关重要。