在 C++ 中,我有:
//Base1.h
#ifndef BASE1_H
#define BASE1_H
#include <iostream>
#include <string>
#include "Base2.h"
using namespace std;
class Base1{
private:
string name;
public:
Base1(string _name);
void printSomething();
string getName();
};
#endif
在Base1.cpp
我实现构造函数Base1(string _name)
和string getName()
正常情况下,并且printSomething()
:
void Base1::printSomething(){
Base2 b2;
// how to pass a parameter in the following code?
b2.printBase1();
}
// This is Base2.h
#ifndef BASE2_H
#define BASE2_H
#include <iostream>
#include <string>
#include "Base1.h"
using namespace std;
class Base2{
public:
Base2();
void printBase1(Base1 b);
};
#endif
我Base2()
像往常一样实现构造函数,这是我的printBase1(Base1 b)
:
void Base2::printBase1(Base1 b){
cout << b.getName();
}
所以,最后,我想printSomething()
在Base1
课堂上使用,但我不知道如何在我的代码中将参数传递给上面的 in b2.printBase1()
。在 C++printSomething()
中有什么类似的东西吗?b2.printBase1(this)
如果没有,你能给我一个建议吗?