QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 651|回复: 4

劳烦看一下这个小程序!

[复制链接]
发表于 2003-4-19 20:31:22 | 显示全部楼层 |阅读模式
如下:
//: chen.cpp

#include <iostream>
using namespace std;

class Twoinline {
           public:

        void   f() {
                        int n;
                       
                        n = 10 * f_return( const int&amp; ii);
                        cout &lt;&lt; n &lt;&lt; endl;
       
                }

        int f_return(const int&amp; ii) {
               
                        i = ii;       
                        cout &lt;&lt; i &lt;&lt; endl;
                        return i;
               
                }


        protected:
                int i;
};

int main() {
        Twoinline tt;
        for(int i = 0; i &lt; 5; i++) {
                int t;
                cin &gt;&gt; t;
                tt.f_return(t);
                tt.f();
        }               
       
}///:~
为什么它老说n = 10 * f_return( const int&amp; ii);有错!请指点!多谢!多谢!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//: inline.cpp


#include <iostream>

#include &lt;string&gt;

using namespace std;



class color {

       
enum Hue{
       
                red,
                blue,
                yellow
}Huu ;




public:
color(char* s) {

                        strcpy (Huu, s);

cout &lt;&lt; Huu &lt;&lt; endl;

               
               
}

               
void getcolor() {

                       
        switch(Huu) {
                               
                case red:
                                              
                                                cout &lt;&lt; "The color is :red "&lt;&lt; endl;
                                               break;
                               
                case blue:
                                              
                                                cout &lt;&lt; "The color is :blue" &lt;&lt; endl;
                                              break;
      
                               
                case yellow:
                                             
                                                cout &lt;&lt; "The color is : yellow" &lt;&lt; endl;
                                                break;
                               
                default:
                                             
                                                cout &lt;&lt; "nothing is :" &lt;&lt; endl;
                       
                                }

               
        }
       
               

};


void main() {

       
        color cc("red");
       
        cc.getcolor();


}///:~
还有这个:错在哪?
发表于 2003-4-19 22:54:52 | 显示全部楼层
i have to say that u two programs have too muany errors.
for this 'n = 10 * f_return( const int& ii)' . 1) u need define f_return before f, if u do not declare them elsewhere. 2) here u call the f_return, u need not have const..., u use 'n=10*f_return(ii)' is enough. 3) in u f_return, ii is a pointer point to a integer, u i==ii will have warning when compiling, and will assign the ii integer address, not value, to i.
回复

使用道具 举报

 楼主| 发表于 2003-4-20 22:29:48 | 显示全部楼层
内联函数不是可以向前引用吗?且c++有规定:只有在类声明结束后,其中的内联函数才会被声明!
回复

使用道具 举报

 楼主| 发表于 2003-4-20 22:30:50 | 显示全部楼层
内联函数不是可以向前引用吗?且c++有规定:只有在类声明结束后,其中的内联函数才会被计算!
回复

使用道具 举报

发表于 2003-4-20 22:47:37 | 显示全部楼层
this can be compiled and run.
-----------------------------------------------
#include <iostream>

using namespace std;

class Twoinline {
public:

int f_return(const int&amp; ii) {
i = ii;
cout &lt;&lt; i &lt;&lt; endl;
return i;
}

void f() {
int n;
n = 10 * f_return(i);
cout &lt;&lt; n &lt;&lt; endl;
}

protected:
int i;
};

int main() {
Twoinline tt;
for(int i = 0; i &lt; 5; i++) {
int t;
cin &gt;&gt; t;
tt.f_return(t);
tt.f();
}

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 02:24 , Processed in 0.058304 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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