将类对象指针传递给默认构造函数(C 子例程)
Passing a class object pointer to default constructor (C++ Subroutines)
我正在处理一个分配,该分配涉及制作一个名为Sub的类,该类别代表子例程。此类将包括一个带有四个参数的构造函数:名称(字符串),一个指向其静态父对象的指针,参数数和变量数。
如果静态父指针为null,则该对象没有父母。我一直坚持如何将指针作为参数之一将其传递给构造函数之一,尤其是如果我希望指针为null以代表第一个子例程。这就是我到目前为止的:
class Sub
{
public:
Sub(); //constructor
Sub::Sub(string sName, Sub &sParent, int sNumberofArguments, int sNumberofLocalVariables); // default constructor
private:
string name;
Sub * parent;
int numberOfArguments;
int numberOfLocalVariables;
};
...
Sub::Sub(string sName, Sub &sParent, int sNumberofArguments, int sNumberofLocalVariables)
{
name = sName;
parent = &sParent;
numberOfArguments = sNumberofArguments;
numberOfLocalVariables = sNumberofLocalVariables;
}
...
int main(){
Sub first("first", NULL, 4, 5); //ERROR
Sub second("second", first, 3, 6);
}
使您的构造函数取用Sub *
而不是Sub &
,或者制作一个不服用Sub &
的额外构造函数,并将parent设置为内部。
相关文章:
- 子例程,不使用 pow,并带有参数和返回
- 如何将C++子例程链接到 x86 程序集程序?
- 调用子例程时类型不匹配
- 将分配给C++数组传递给 Fortran 子例程
- Android Studio 3.1.2 - 无法运行C++子例程"No implementation found for Java.lang.String..."
- 试图在C 中调用Fortran子例程
- 通过类构造函数创建线程
- Visual MSVC C 调用GFORTRAN子例程
- 从C 调用Fortran子例程会产生非法参数值
- 迷宫构造函数问题 [线程 1:EXC_BAD_ACCESS(代码 = 1,地址 = 0x8)]
- 将类对象指针传递给默认构造函数(C 子例程)
- 如何从子例程函数获取到 main 函数的返回值
- 确定未在 Fortran 子例程顶部声明的变量类型
- 子例程在 MIPS 上调用了两次
- 从 C++ 调用 Fortran 子例程
- 将C++函数指针传递到Fortran子例程
- 构造函数子级的初始化列表中调用了构造函数父级
- 构造函数用例中的虚函数调用
- 如何使用传递到当前子例程中的参数调用不同的子例程(用于递归)
- 在主程序或函数子例程中使用数组的差异