//============================== //a.h #pragma once class b; class a { private: b* pb; public: void print(); }; //======================== //a.cpp #include "stdafx.h" #include "a.h" #include "b.h" void a::print() { cout << "begin..." << endl; pb->getInfo();//pb没有初始化 } //======================= //b.h #pragma once #include "a.h" class b { public: a oa; void print(); void getInfo(); }; //======================== //b.cpp #include "stdafx.h" #include "b.h" void b::print() { oa.print(); } void b::getInfo() { cout << "get info of b" << endl; } // vvv.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "b.h" int _tmain(int argc, _TCHAR* argv[]) { b ob; ob.print(); return 0; } sp没有初始化也没有赋值,但是会输出结果