首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有没有办法在头文件中声明指针并在.cpp中实例化它?

有的,您可以在头文件中声明指针,并在.cpp文件中实例化它。以下是一个简单的示例:

  1. 在头文件中声明指针:
代码语言:cpp
复制
// MyClass.h

class MyClass {
public:
    MyClass();
    ~MyClass();

    void printHelloWorld();

    // 声明指针
    static MyClass* instance;
};
  1. 在.cpp文件中实例化指针:
代码语言:cpp
复制
// MyClass.cpp

#include "MyClass.h"

// 实例化指针
MyClass* MyClass::instance = nullptr;

MyClass::MyClass() {
    // 构造函数
}

MyClass::~MyClass() {
    // 析构函数
}

void MyClass::printHelloWorld() {
    std::cout << "Hello, World!"<< std::endl;
}

这样,您就可以在其他文件中使用这个指针了。例如:

代码语言:cpp
复制
// main.cpp

#include "MyClass.h"

int main() {
    // 实例化指针
    MyClass::instance = new MyClass();

    // 使用指针
    MyClass::instance->printHelloWorld();

    // 释放内存
    delete MyClass::instance;

    return 0;
}

这个示例展示了如何在头文件中声明一个静态指针,并在.cpp文件中实例化它。这种方法可以在整个程序中访问这个指针,并在需要时释放内存。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • C++:无法解析的外部符号问题 与 头文件包含注意要点

    由于种种原因,很长时间没有完整地编写一个C++程序。近期编写的程序都是简单地算法实现程序和简略的模拟程序,对于C++的许多特性都变得模糊不清。为了完成暑假的操作系统大作业——文件系统的模拟实现,从0开始写一个完成的程序。开始都进行得十分顺利,但编写完主要的头文件与cpp文件后,准备开始测试函数,进行Debug时,VS却提示大量错误信息,其中大都是:无法解析的外部符号。几天(暑假时间,不是没天都有大量时间认真编程,见笑了)时间过去后,尝试了多种解决方法终于找到了问题所在。于是有了写下搜寻过程的想法,要是有人能看这篇文章快速解决自己的问题,那就更好了。 结论:真正引起的错误的原因在于头文件的包含是否得当!

    02
    领券