C++静态成员函数访问非静态成员

本文通过一个具体的C++示例介绍了如何在一个派生类中实现基类的纯虚函数,并通过静态成员函数访问实例变量。示例展示了学生类继承自人的抽象基类,并实现了获取姓名的方法,同时定义了一个静态成员函数来获取年龄。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果类没有被创建,则没有对应的成员,也就无法访问

下面这种方法需要先创建类,并将类作为参数传递给静态成员函数才能访问。


  1. #include <iostream>
  2. using namespace std;


  3. class person {
  4. public:
  5.     virtual void get_name()=0;
  6. };


  7. class student:public person
  8. {
  9. public:
  10.     void get_name()
  11.     {
  12.         cout <<"student name"<<endl;
  13.     }
  14.     static void get_age(student *_s);
  15.     student();
  16. private:
  17.     int m_age;
  18. };

  19. student::student()
  20. {
  21.     m_age = 11;
  22. }

  23. void student::get_age(student *_s)
  24. {
  25.     cout <<"student age: "<<_s->m_age<<endl;
  26. }

  27. student *create_person()
  28. {
  29.     return new student();
  30. }

  31. int main()
  32. {
  33.     student *p = create_person();
  34.     p->get_name();
  35.     student::get_age(p);
  36.     return 0;
  37. }

<script>window._bd_share_config={"common":{"bdsnskey":{},"bdtext":"","bdmini":"2","bdminilist":false,"bdpic":"","bdstyle":"0","bdsize":"16"},"share":{}};with(document)0[(getelementsbytagname('head')[0]||body).appendchild(createelement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new date()/36e5)];</script>
阅读(193) | 评论(0) | 转发(0) |
0

上一篇:LIBC小记

下一篇:C++纯虚函数小记

给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kelsel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值