调用其他类的成员函数

时间:2013-12-02 12:00:40

标签: c++

我有两节课。

Class A
{
  void printMe();
}

cpp文件:

A::printMe(){
   cout<<"yay";
 }

Class B
 {
    void DoSomething();
 }

cpp文件

 B::DoSomething(){

    A::printMe();
 }

如何在B类中创建A类对象并将其用于函数printMe();

参考文献,但答案不被接受,但它们对我不起作用 HERE

2 个答案:

答案 0 :(得分:1)

假设您要在A类对象上调用printMe()成员函数:

B::DoSomething() {
  A a;
  a.printMe();
}

但是,您还需要声明printMe()函数是公开的:

class A {
public:
  void printeMe();
}

答案 1 :(得分:1)

首先,您需要纠正许多语法错误:

// A.h
class A {    // not Class
public:      // otherwise you can only call the function from A
    void printMe();
};           // missing ;

// B.h
class B {    // not Class
public:      // probably needed
    void DoSomething();
};           // missing ;

// A.cpp
#include "A.h"       // class definition is needed
#include <iostream>  // I/O library is needed (cout)

void A::printMe() {        // missing return type
    std::cout << "yay\n";  // missing namespace qualifier
}

// B.cpp
#include "A.h"       // class definitions are needed
#include "B.h"

void B::DoSomething() {    // missing return type
    A a;                   // make an object of type A
    a.printMe();           // call member function
}