VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 530|回复: 2

数组赋值给指针问题

[复制链接]
12_avatar_middle
最佳答案
0 
在线会员 发表于 2019-8-14 15:30:41 | 显示全部楼层 |阅读模式
3驿站币
#include "stdafx.h"
#include <iostream>
using namespace std;

class Test
{
private:
        int a[3] = { 0 };
        int* pa = a;
public:
        Test()
        {
        }
        ~Test()
        {
        }
        void Read_Data()
        {
                int b[3];
                for (int i = 0; i < 3; i++)
                {
                        b[i] = i;
                }
                Set_Data(b);
        }
        void Set_Data(int* temp)
        {               
                pa = temp;               
        }
        int* Get_Data()
        {
                return pa;
        }
};


int main()
{
        Test* t = new Test();
        t->Read_Data();
        int* number = t->Get_Data();
        for (int i = 0; i < 3;i++)
        {
                cout << number[i] << endl;
        }
        getchar();
    return 0;
}

各位,为上以上代码main函数里得不到赋值的数组啊?





上一篇:return 0
下一篇:函数指针执行函数需要用&amp;符号吗?
87_avatar_middle
最佳答案
11 
在线会员 发表于 2019-8-14 17:07:19 | 显示全部楼层
int b[3]; 是函数的局部数组,应该改成类成员变量;就能输出了

  1. #include "stdafx.h"
  2. #include <iostream>
  3. using namespace std;


  4. class Test
  5. {
  6. private:
  7.         int a[3] = { 0 };
  8.         int b[3];//添加
  9.         int* pa = a;
  10. public:
  11.         Test()
  12.         {
  13.         }
  14.         ~Test()
  15.         {
  16.         }
  17.         void Read_Data()
  18.         {
  19.                 //int b[3];  //注释掉
  20.                 for (int i = 0; i < 3; i++)
  21.                 {
  22.                         b[i] = i;
  23.                 }
  24.                
  25.                 Set_Data(b);
  26.         }
  27.         void Set_Data(int* temp)
  28.         {
  29.                 pa = temp;
  30.         }
  31.         int* Get_Data()
  32.         {
  33.                 return pa;
  34.         }
  35. };

  36. int main()
  37. {
  38.         Test* t = new Test();
  39.         t->Read_Data();
  40.         int* number = t->Get_Data();
  41.         for (int i = 0; i < 3; i++)
  42.         {
  43.                 cout << number[i] << endl;
  44.         }

  45.         system("pause");
  46.     return 0;
  47. }
复制代码


数组赋值给指针问题

评分

参与人数 1驿站币 +2 热心值 +2 收起 理由
58_avatar_small thzzl + 2 + 2 赞一个!

查看全部评分

84_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-24 12:28:46 | 显示全部楼层
本帖最后由 magshines 于 2019-9-24 12:29 编辑
cqzj70 发表于 2019-8-14 17:07
int b[3]; 是函数的局部数组,应该改成类成员变量;就能输出了


a数组表示自己很尴尬
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-11-29 03:23

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表