对象数组与对象指针

简介: 对象数组与对象指针

文章目录

什么是对象数组

定义的格式

对个参数的构造函数给对象数组赋值

什么是对象指针?

对象指针的作用


什么是对象数组

简单的来说,对象数组就是指一个数组中的一个数,全部都是一些类的对象所组成的一个数组,再通俗来讲就是一个类,有很多很多对象,我们把这一系列的对象只用一个数组来存放,对象数组的元素就是对象,不仅具有数据成员,而且还有成员函数

定义的格式

定义一个对象的通用格式

假如我有一个类

class A {
  public:
    A(int a, int s);
    void show_score();
  private:
    int age, score;
};

对个参数的构造函数给对象数组赋值

当构造函数有多个参数的时候,在定义对象数组的时候,我们应该按以下方式进行初始化,必须要花括号后将构造函数和指定实参分别写出就可以,下面看一个例子就可以用以下方法定义对象数组

A obj[3] = {    //定义对象数组
    A(18, 100),
    A(19, 99),
    A(20, 98)
  };

正是因为这个对象数组有三个对象数组的元素,所以在建立他的时候要三次调用构造函数,对每一个对象数组元素都要进行初始化,所以每一个元素的时差都要用括号分别包起来,对应构造函数的那一组形参,否则如果不这样做的话会产生混淆

下面用多个参数的构造函数给对象数组赋值

#include <iostream>
#include <string>
using namespace std;
class A {
  public:
    A(int a, int s);
    void show_score();
  private:
    int age, score;
};
A::A(int a, int s) {
  age = a;
  score = s;
}
void A::show_score() {
  cout << "this 指针值:" << this << "期末成绩:" << this->score << endl;
}
int main() {
  A obj[3] = {    //定义对象数组
    A(18, 100),
    A(19, 99),
    A(20, 98)
  };
  for (int i = 0; i < 3; i++)
    obj[i].show_score();
  return 0;
}

输出结果:

this 指针值:00000069F22FF8F8期末成绩:100

this 指针值:00000069F22FF900期末成绩:99

this 指针值:00000069F22FF908期末成绩:98

什么是对象指针?

在每一个对象初始化后都会在内存中占有一定的空间,所以我们又可以通过对象名访问对象,也可以通过该对象的地址来访问对象,对象指针就是用来存放该对象地址的一个变量,声明对象只跟语法形式如下

类名 * 对象指针名

对象指针的作用

可以用对象指针访问单个对象成员

可以用对象指针访问对象数组。对象只能不仅能够访问单个对象,同时也能访问对象数组

相关文章
|
4天前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
4天前
|
存储 人工智能
指针的应用练习(数组与指针的关系)
指针的应用练习(数组与指针的关系)
13 0
|
4天前
|
存储 人工智能
字符指针变量和字符数组注意事项(区别)
字符指针变量和字符数组注意事项(区别)
7 0
|
4天前
指针的基础应用(数组的颠倒和排序,二维数组的表示)
指针的基础应用(数组的颠倒和排序,二维数组的表示)
7 0
数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结
数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结
|
4天前
|
存储 编译器 C语言
【C++】类与对象【定义、访问限定符、this指针】
【C++】类与对象【定义、访问限定符、this指针】
6 1
|
4天前
指针指向数组
指针指向数组
17 0
|
4天前
|
存储 人工智能 C++
【重学C++】【指针】详解让人迷茫的指针数组和数组指针
【重学C++】【指针】详解让人迷茫的指针数组和数组指针
34 1
|
4天前
|
存储 C语言
指针数组作为main函数的形参
指针数组作为main函数的形参
14 0
|
4天前
|
存储 编译器 C++
【C++成长记】C++入门 | 类和对象(上) |类的作用域、类的实例化、类的对象大小的计算、类成员函数的this指针
【C++成长记】C++入门 | 类和对象(上) |类的作用域、类的实例化、类的对象大小的计算、类成员函数的this指针

热门文章

最新文章