C++方法的构造函数
C++ Constructor For A Method
我对C++很陌生,所以这可能很简单。如何调用同一类中的方法。我的朋友告诉我,我需要一个构造函数。法典:
#include <iostream>
#include <string>
using namespace std;
int main()
{
disMessage("");
return 0;
}
编辑:如何在没有新类/构造器的情况下调用该方法
void disMessage(string a)
{
cout << "n" << a << endl;
}
我猜你的意思是,我如何调用稍后在同一文件(不是类)中定义的函数(不是方法)。您在这里没有定义任何类,因此无需担心构造函数。(也许你已经习惯了强迫你把所有代码包装在类中的语言。欢迎来到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;
}
也许这个例子会帮助你理解如何从类内部和外部调用方法。
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;
}
简短的回答?将 disMessage(string a)
方法移到main()
方法上方,如下所示:
void disMessage(string a){
cout << "n" << a << endl;
}
int main() {
disMessage("safas");
return 0;
}
这是由于您正在编写的代码类型(下面将详细介绍),这意味着编译器需要先找到您的函数,然后才能调用它们。
但是,您在此处编写的内容不是面向对象的代码(即基于对象的代码.class)。它实际上只是普通的 C 代码。您应该阅读一些有关面向对象编程的信息,以正确理解这一点,因为这是一个巨大的主题。
对于构造函数,您需要一个类和一个实例化的对象:
class disMessage {
public:
disMessage(string a) {
cout << "n" << a << endl;
}
};
int main() {
disMessage obj("safas");
return 0;
}
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 初始化具有非默认构造函数的std::数组项的更好方法
- 获取从C++中同一类中的构造函数调用的方法返回的值
- 有没有一种代码密度较低的方法来使用非默认构造函数初始化数组?
- C++方法是否可以根据传递给构造函数的参数具有不同的返回类型?
- C++:将向量传递到构造函数以创建成员变量的最佳方法?
- 通过构造函数方法输出的类到类类型转换是 5500 为什么不是 5555
- 如果子类中没有构造函数方法,则错误"no matching function for call to 'LGame::LGame(String&)'"
- 复制构造函数方法的用法
- 为什么在类构造函数方法中,std::string 参数在调试时显示不同的结果?
- 我的构造函数方法不接受参数(DirectX / Windows)
- 带有常量构造函数参数的C++变量构造函数方法
- 在构造函数方法中返回一个子类
- 在模板专用化中添加单个构造函数方法
- 传递字符串指针然后检查构造函数/方法中的大小时出现问题
- 为什么基类的构造函数方法被调用两次?
- 不同的类模式:条件构造函数/方法与继承
- 我不能有一个将多个整数作为参数的构造函数方法/原型吗?阿杜伊诺
- Constexpr类与数组构造函数方法
- 通过显式调用构造函数(方法)来构造对象