👻 对象
👾语法格式
类提供了对象的蓝图,对象是根据类来创建的。
classname objectname;
👾访问公共数据成员
👽语法格式
类的对象的公共数据成员可以使用 直接成员访问运算符 .
访问
objectname.members
👽示例代码
class Box {public:double length;double breadth;double height; Box(double l, double b, double h): length(l), breadth(b), height(h) {}double getVolume() { return length * breadth * height; }
};...Box box(16.0, 8.0, 12.0);
cout << "box 长度:" << box.length << endl; // 输出:box 长度:16
cout << "box 体积:" << box.getVolume() << endl; // 输出:box 体积:1536
👻 指向对象的指针
👾声明
MyClass* ptr; /* 一个指向Box类的指针 */
👾初始化
MyClass obj;
obj.data = 5;
MyClass* ptr = &obj; // 类对应指针初始化,通过 &运算符 取出obj地址赋值
👾使用
使用 成员访问运算符 ->
访问对象的成员变量以及成员函数
class MyClass {public:int data;void display() { std::cout << "Data: " << data << std::endl; }
};...MyClass obj;
obj.data = 5;MyClass *ptr = &obj;
cout << "Data via pointer: " << ptr->data << endl; // 通过指针访问成员变量
ptr->display(); // 通过指针调用成员函数
👾动态分配内存
MyClass *ptr = new MyClass;
ptr->data = 5;
ptr->display(); // 通过指针调用成员函数
delete ptr; // 释放动态分配的内存
👾作为函数参数
// 函数接受指向类的指针作为参数
void processObject(MyClass *ptr) {ptr->display();
}...MyClass obj;
obj.data = 5;
processObject(&obj); // 将指向类的指针传递给函数