C++;类的实例化和调用方法 好的,我只是想给出C++的一个尝试(我现在做的是C),现在我的第一个问题是类实例化或调用另一个类中的一个方法。
这是我的密码: 我的主要节目条目:C++;类的实例化和调用方法 好的,我只是想给出C++的一个尝试(我现在做的是C),现在我的第一个问题是类实例化或调用另一个类中的一个方法。,c++,methods,instantiation,C++,Methods,Instantiation,这是我的密码: 我的主要节目条目: #include <iostream> #include "myClass.h" using namespace std; int main() { myClass* mc = new myClass(); } 类标题: #pragma once class myClass { public: myClass(); ~myClass(); }; 现在您可以看到,我已经实例化了这个类,但是我
#include <iostream>
#include "myClass.h"
using namespace std;
int main()
{
myClass* mc = new myClass();
}
类标题:
#pragma once
class myClass
{
public:
myClass();
~myClass();
};
现在您可以看到,我已经实例化了这个类,但是我无法访问DoSomething()方法。这段代码只是声明了一个局部函数,并且有一个空的作用域:
myClass::myClass()
{
void DoSomething(); // local function declaration
{
// empty scope
}
}
如果希望doSomething()
成为myclass
的成员,则必须在类定义中声明它:
class myClass
{
public:
myClass();
~myClass();
void doSomething();
};
然后实施它
void myclass::doSomething() { .... }
也注意到C++中不必使用<代码>新< /代码>。您可以像这样实例化一个对象:
int main()
{
myClass mc;
}
还要注意的是,至少在实际代码中,这不是一个好主意。这是构造函数中的函数声明(+{}中的一个ampty范围) 您需要在类主体(而不是构造函数)中声明函数,并定义此函数(可以立即与声明一起执行,也可以稍后再执行,如此处所示): 建造商的实施:
myClass::myClass() { .... }
实现您的功能,类似地:
void myClass::doSomething() { .... }
您试图在main中使用的方法必须是类定义的一部分。可以编写内联函数,也可以单独定义该函数。此外,您需要将该函数公开,以便从main访问它。他甚至不需要名称空间,因为他没有使用任何名称空间。
class myClass
{
public:
myClass();
~myClass();
void doSomething();
};
myClass::myClass() { .... }
void myClass::doSomething() { .... }