案例说明:test1中需要调用test2中的go_test2,test2中需要调用test1中的go_test1
main.cpp
#include <lontern.h>
#include "test1.h"
#include "test2.h"
int main() {
test1 t1;
t1.print_test1();
test2 t2;
t2.print_test2();
}
test1.h
#pragma once
#include <lontern.h>
//#include "test2.h" 取消这里的头文件引用,添加到CPP中
class test2; //声明test2
class test1
{
test2* t2;
public:
void print_test1();
void go_test1();
};
test1.cpp
#include "test1.h"
#include "test2.h"
void test1::print_test1()
{
cout << "print_test1" << endl;
//t2.print_test2(); 取消 用指针的方式调用
t2->go_test2();
}
void test1::go_test1()
{
cout << "go_test1" << endl;
}
test2.h
#pragma once
#include <lontern.h>
//#include "test1.h" 取消这里的头文件引用,添加到CPP中
class test1; //声明test1
class test2
{
test1* t1;
public:
void print_test2();
void go_test2();
};
test2.cpp
#include "test2.h"
#include "test1.h"
void test2::print_test2()
{
cout << "print_test2" << endl;
//t1.go_test1(); 取消 用指针的方式调用
t1->go_test1();
}
void test2::go_test2()
{
cout << "go_test2" << endl;
}
版权声明:本文为z672160230原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。