hihello米
2016-03-28 14:06
采纳率: 0%
浏览 1.3k

C++中的知识点,求解决,在这里先谢谢了

在C++中,定义了一个类,建立了对象,对象所调用的函数必须是类函数吗?
可以调用类外的函数吗?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 林深 2016-03-28 14:51

    可以调用类外的函数,如:

     #include "iostream"
    using namespace std;
    
    
    void printOutSide() {
        cout<<"hello"<<endl;
    }
    
    
    int sum(int a,int b) {
        return a+b;
    }
    
    class Test {
        public:
        void myFunction() {
            printOutSide();
        }
    
        void mySum(int a,int b) {
            int sumResult = sum(a,b);
            cout<<sumResult<<endl;
        }
    };
    
    int main(){
    
        Test *t = new Test();
        t->myFunction();
        t->mySum(2,3);
    
    }
    
    评论
    解决 无用
    打赏 举报
  • 小灸舞 2016-03-29 00:38

    不知道楼主指的类外的函数是指什么?

    评论
    解决 无用
    打赏 举报
  • hihello米 2016-03-29 11:28

    就是类外的普通函数,这个普通函数不在类内声明,不属于类函数,类的具体实例对象可以直接调用吗?能的话如何调用?除了楼上说的那种情况

    评论
    解决 无用
    打赏 举报
  • hihello米 2016-03-29 11:33

    以上是 网不好 点的多了

    评论
    解决 无用
    打赏 举报
  • 热爱这世间的一切 2016-03-31 11:11

    楼主应该是说调用自由函数,一般如果是大型工程的话,会将头文件和对应的实现分开放,即将函数声明放在.h头文件里面,函数实现放在cpp文件里面.假设实现了一些具有特定功能的函数,
    声明和实现分别放在util.h和util.cpp中。如果要在某个类的实现中调用,只需要在头文件里包含进头文件util.h,就可以直接使用里面定义的函数了。

    PS:我觉得楼主如果能了解下编译链接的过程,以及作用域的相关知识,这个问题就变得简单了。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题