sidfate 发表于 2014-2-25 21:56:01

关于C++类的内联函数的问题

本帖最后由 sidfate 于 2014-2-26 12:02 编辑

代码如下:
#include <iostream>

#include <cmath>

using namespace std;

class Complex
{
private:
      double real;
      double imag;
public:
      void init(double r,double i)
      {
                real=r;
                imag=i;
      }
      double abscomplex()
      {
                double t;
                t=real*real+imag*imag;
                return sqrt(t);
      }
};

int main()
{
      
      
      Complex A;
      A.init(1.1,2.2);
      cout<<"res: "<<A.abscomplex()<<endl;
      return 0;

}



为什么init函数没有返回类型但是real和imag被赋值且在函数abscomplex可以使用,按照函数调用来说real和imag的值应该只在函数里会改变但是除了函数还是没有改变的才对???求高手给下解释感激不尽!!!!!

oggplay 发表于 2014-2-25 21:56:59

求助居然还要鱼币。自己慢慢研究吧

sidfate 发表于 2014-2-26 12:03:02

求解回帖有奖励

machimilk 发表于 2014-2-26 18:25:20

那不是函数,是类
你用这个类实例化了一个对象a
关于类的特性一句两句也说不明白,建议你补习一下c++类的知识
例如 孙鑫老师的视频课程

g135176 发表于 2014-2-27 08:39:15

路过 谢谢楼主

动感超人xx 发表于 2014-5-13 16:00:26

我为鱼币来呀·~~~~~

Kayllen 发表于 2014-5-14 17:38:25

oggplay 发表于 2014-2-25 21:56 static/image/common/back.gif
求助居然还要鱼币。自己慢慢研究吧

人家是奖励鱼币!

Kayllen 发表于 2014-5-14 17:38:59

路过 谢谢楼主

huha88 发表于 2014-6-30 15:17:40

有返回类型但是

santaclaus 发表于 2014-6-30 17:10:23

纠正概念,这里不存在内联函数。
init丶abscomplex都是类的成员函数,都是类的自家人,当然可以使用自家的东西(real、imag)了。。。

彳山一几攵 发表于 2014-7-4 15:49:23

路过 谢谢楼主

心驰神往 发表于 2020-11-4 15:12:47

谢谢

心驰神往 发表于 2020-11-4 15:13:31

{:10_260:}
页: [1]
查看完整版本: 关于C++类的内联函数的问题