VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 185|回复: 4

[已解决]c++实用41课问题

[复制链接]
11_avatar_middle
最佳答案
0 
在线会员 发表于 2020-2-16 18:06:33 | 显示全部楼层 |阅读模式
c++实用41课问题
  total_age += ((CXiaoStudent*)p_arr_stud)->age;
改成指针的方式取值可以吗?我试了试,为什么不行呢
最佳答案
18_avatar_small
2020-2-16 19:54:21
379515420 发表于 2020-2-16 18:30
// controltest.cpp : 定义控制台应用程序的入口点。
//

CXiaoStudent和CStudent类,这两个类的实例占用内存大小不同,通过指针的方式,其指向的数据不是age所在的地方(除了第一个)。




上一篇:C\C++屏幕抓取求助
下一篇:看的syc视频的指针问题
18_avatar_middle
最佳答案
4 
donate_vip 发表于 2020-2-16 19:54:21 | 显示全部楼层    本楼为最佳答案   
bestAnswer
379515420 发表于 2020-2-16 18:30
// controltest.cpp : 定义控制台应用程序的入口点。
//

CXiaoStudent和CStudent类,这两个类的实例占用内存大小不同,通过指针的方式,其指向的数据不是age所在的地方(除了第一个)。

评分

参与人数 1威望 +2 驿站币 +2 热心值 +2 收起 理由
01_avatar_small admin + 2 + 2 + 2 赞一个!

查看全部评分

75_avatar_middle
最佳答案
18 
online_supermod 发表于 2020-2-16 18:16:46 | 显示全部楼层
total_age += ((CXiaoStudent*)p_arr_stud)->age;   你这行代码的意思是 访问的值转换为CXiaoStudent*指针  你把源码 贴出来看看
11_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-2-16 18:30:35 | 显示全部楼层
wl1383838438 发表于 2020-2-16 18:16
total_age += ((CXiaoStudent*)p_arr_stud)->age;   你这行代码的意思是 访问的值转换为CXiaoStudent*指针  ...

  1. // controltest.cpp : 定义控制台应用程序的入口点。
  2. //

  3. #include "stdafx.h"
  4. #include <iostream>
  5. #include <tchar.h>
  6. #include <string>
  7. #include "Student.h"
  8. using namespace std;

  9. //小学生类
  10. class stu_xiao :public Student
  11. {
  12. public:
  13.         int shuxue;
  14.         stu_xiao()
  15.         {
  16.                 this->EstuType = EtypeXiao;
  17.         }
  18. };

  19. void get_avg(Student* stu,int lenth)
  20. {
  21.         int scosSum = 0;
  22.         for (int i = 0;i<lenth;i++)
  23.         {
  24.                 //scosSum += ((stu_xiao*)stu)[i].score;               
  25.                 scosSum += ((stu_xiao*)stu)->score;               
  26.                 stu++;
  27.         }

  28.         int vev = scosSum / lenth;
  29.         cout << "平均值:" << endl;
  30.         cout << vev << endl;
  31. }

  32. int _tmain(int argc, _TCHAR* argv[])
  33. {
  34.         stu_xiao stuxiao[3];
  35.         stuxiao[0].score = 78;
  36.         stuxiao[1].score = 90;
  37.         stuxiao[2].score = 88;
  38.        
  39.         get_avg(stuxiao,3);

  40.         getchar();

  41.         return 0;       
  42. }
复制代码



写了一个简单的小例子,不知道能不能看明白,主要是在计算平均值的地方改用了指针,为什么就不行了呢
11_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-2-16 20:05:51 | 显示全部楼层
天仿思冗 发表于 2020-2-16 19:54
CXiaoStudent和CStudent类,这两个类的实例占用内存大小不同,通过指针的方式,其指向的数据不是age所在 ...

谢谢,我好像理解您说的意思了
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

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

关闭

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

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

GMT+8, 2020-12-1 01:29

Powered by CcTry.CoM

© 2009-2020 cctry.com

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