小编Cat*_*yst的帖子

渴望在 kotlin 中初始化对象?

我正在尝试在声明中声明我的 android sqlite 迁移object。每个都扩展了 interface Migration,我想让每个人在初始化时注册自己,Migrator对象是一个对象,也是一个单例。不幸的是(我很晚才意识到)kotlin 对象被延迟初始化,所以我的迁移必须在某处使用来注册自己。

我可以接受必须使用反射或注释,但不知道这是否是一个好主意或如何遵循惯例朝着这个方向发展。

android kotlin

6
推荐指数
1
解决办法
1433
查看次数

为什么我不能在c ++类中声明一个空构造函数,该类从具有私有构造函数的类扩展

我试图了解具有继承的私有构造函数的用法(我对C++相当新)并且在测试中遇到了以下问题:

vestigial.cc: In constructor ‘ExtraSample::ExtraSample()’:
vestigial.cc:34:16: error: no matching function for call to ‘Sample::Sample()’
  ExtraSample() {};
Run Code Online (Sandbox Code Playgroud)

使用它来编译:g ++ -std = c ++ 11 vestigial.cc

这是代码:

#include <iostream>
#include <memory>
#include <string>
#include <vector>
using namespace std;

class Sample {
public:
    ~Sample(){
        cout << name << " died " << endl;
    };
    void what() {
        cout << name << " hat" << endl;
    }
private:
    Sample(const string n) {
        name = n;
    };
    friend class SampleOwner;
    string name;
};


class SampleOwner …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance c++11

0
推荐指数
1
解决办法
84
查看次数

标签 统计

android ×1

c++ ×1

c++11 ×1

inheritance ×1

kotlin ×1