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()
したいのですが、コードで上記のようにパラメーターをinBase1
に渡す方法がわかりません。C++のようなものはありますか? そうでない場合は、提案をいただけますか?b2.printBase1()
printSomething()
b2.printBase1(this)