我是C ++的新手,所以这可能非常简单。如何在同一个类中调用方法。我的朋友告诉我,我需要一个构造函数。 代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
disMessage("");
return 0;
}
编辑:如何在没有新类/构造函数的情况下调用方法
void disMessage(string a)
{
cout << "\n" << a << endl;
}
答案 0 :(得分:4)
我想你的意思是,我如何调用稍后在同一文件(非类)中定义的函数(非方法)。你没有在这里定义任何类,所以没有必要担心构造函数。 (也许你已经习惯了强迫你把所有代码都包装在类中的语言。欢迎来到C ++:这里没有废话。)
你需要在调用之前声明一个函数,所以要么这样做:
void disMessage(string); // declaration
int main() {
disMessage("safas"); // use (after declaration)
return 0;
}
void disMessage(string a){ // definition
cout << "\n" << a << endl;
}
或将函数定义移动到使用点之前:定义也是声明。
void disMessage(string a){ // definition and declaration
cout << "\n" << a << endl;
}
int main() {
disMessage("safas"); // use (after declaration)
return 0;
}
答案 1 :(得分:1)
也许这个例子可以帮助你理解如何从类内部和外部调用方法。
class foo
{
public:
void disMessage(string a)
{
cout << "\n" << a << endl;
}
void bar()
{
disMessage("foo::bar");
}
};
int main() {
foo f;
f.disMessage("main");
f.bar();
return 0;
}
答案 2 :(得分:0)
对于构造函数,您需要一个类和一个实例化对象:
class disMessage {
public:
disMessage(string a) {
cout << "\n" << a << endl;
}
};
int main() {
disMessage obj("safas");
return 0;
}
答案 3 :(得分:0)
简短回答?将disMessage(string a)
方法移到main()
方法之上,如下所示:
void disMessage(string a){
cout << "\n" << a << endl;
}
int main() {
disMessage("safas");
return 0;
}
这是由于您编写的代码类型(下面有更多相关内容),这意味着编译器需要先找到您的函数才能调用它们。
然而,你在这里写的不是面向对象的代码(即基于类)。它实际上只是简单的C代码。您应该阅读一些关于面向对象编程的内容,以便正确理解这一点,因为这是一个很大的主题。