小编pab*_*blo的帖子

如何在C++中使用默认和自己的复制构造函数?

我有一个很长的班级,有很多成员.我想为它编写复制构造函数.但是如果我编写自己的拷贝构造函数,我就失去了对deafult拷贝构造函数的访问权限.

我只是想在我自己的拷贝构造函数中修复一些指针.所以我希望对象的浅拷贝可以通过默认的拷贝构造函数来完成.

当有我自己的拷贝构造函数时,是否有可能访问默认的拷贝构造函数?

c++ constructor deep-copy copy-constructor shallow-copy

8
推荐指数
2
解决办法
2425
查看次数

如何在该类方法中创建类实例?

我想在自己内部创建类实例.我试着通过这种方式:

class matrix:
    (...)
    def det(self):
        (...)
        m = self(sz-1, sz-1)
        (...)
    (...)
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误:

m = self(sz-1, sz-1)
Run Code Online (Sandbox Code Playgroud)

AttributeError:矩阵实例没有__call__方法

所以,我试着这样做:

class matrix:
    (...)
    def det(self):
        (...)
        m = matrix(sz-1, sz-1)
        (...)
    (...)
Run Code Online (Sandbox Code Playgroud)

我又得到了一个错误:

m = matrix(sz-1, sz-1)
Run Code Online (Sandbox Code Playgroud)

NameError:未定义全局名称"matrix"

当然矩阵不是全局类.我不知道如何解决这个问题.

python class instance

7
推荐指数
1
解决办法
8001
查看次数