C++入门——60s从0到1
对象指针
在C++中,对象指针是一种指向对象的指针变量,它可以用于动态分配内存、实现抽象类和接口等。本文将详细讲解C++对象指针的定义、初始化和使用方法。
定义对象指针
在C++中,可以使用以下语法定义对象指针:
class Object {
public:
// ...
};
Object* ptr; // 定义一个指向Object对象的指针
上述代码定义了一个指向Object对象的指针。要定义一个指向Object数组的指针,可以使用以下语法:
class Object {
public:
// ...
};
Object* ptr_array[10]; // 定义一个包含10个Object对象指针的数组
上述代码定义了一个包含10个Object对象指针的数组。
初始化对象指针
可以使用以下语法初始化对象指针:
Object obj;
Object* ptr = &obj; // 将指向obj对象的指针赋值给ptr
上述代码将指向obj对象的指针赋值给了ptr。也可以使用new运算符动态分配内存来初始化对象指针,例如:
Object* ptr = new Object(); // 使用new运算符动态分配一个Object对象,并将指向该对象的指针赋值给ptr
上述代码使用new运算符动态分配了一个Object对象,并将指向该对象的指针赋值给了ptr。在使用完指针后,需要使用delete运算符释放内存,例如:
Object* ptr = new Object();
// ...
delete ptr; // 释放ptr指向的内存空间
使用对象指针访问成员变量和方法
可以使用箭头运算符“->”来访问对象指针所指向的对象的成员变量和方法。例如,要访问对象指针所指向的对象的成员变量,可以使用以下语法:
class Object { public: int value; }; Object* ptr = new Object(); ptr->value = 42; // 将ptr所指向的对象的value成员变量赋值为42
上述代码将ptr所指向的对象的value成员变量赋值为42。要调用对象指针所指向的对象的方法,也可以使用箭头运算符“->”,例如:
class Object { public: void print() { std::cout << "Hello, world!" << std::endl; } }; Object* ptr = new Object(); ptr->print(); // 调用ptr所指向的对象的print方法,输出"Hello, world!"
上述代码调用了ptr所指向的对象的print方法,输出了"Hello, world!"。