【发布时间】:2021-02-22 03:55:58
【问题描述】:
我目前正在学习 c++ 一周,这是我的问题:
run.cpp
#include <iostream>
#include "Abc.h"
int main(){
int a;
std::cout << "Enter a : ";
std::cin >> a;
// Object Initialization
Abc AbcObj();
}
标题,Abc.h:
#ifndef ABC_H
#define ABC_H
class Abc
{
public:
Abc();
protected:
private:
};
#endif // ABC_H
最后是我的 cpp 文件,Abc.cpp:
#include "Abc.h"
#include <iostream>
Abc::Abc()
{
std::cout << std::endl << "Object created ";
}
为什么我的控制台没有输出?我期待“创建的对象”应该在控制台上。这些文件位于同一目录中。
【问题讨论】:
-
Abc AbcObj();- 这不是构造函数调用。是功能原型。你只需要Abc AbcObj; -
如果我需要构造函数的参数怎么办? @EOF
-
如果构造函数可以接受参数:
Abc AbcObj(arg); -
我收到
undefined reference错误兄弟.. -
您的构造函数不接受参数。您需要创建另一个构造函数)