小编sme*_*ead的帖子

使用类中的枚举(C++)

我正在使用一个包含多个枚举的类的库.这是一个例子

class TGNumberFormat
{
  public:
  // ...
  enum EAttribute {   kNEAAnyNumber
    kNEANonNegative
    kNEAPositive
  };
  enum ELimit {   kNELNoLimits
    kNELLimitMin
    kNELLimitMax
    kNELLimitMinMax
  };
  enum EStepSize {   kNSSSmall
    kNSSMedium
    kNSSLarge
    kNSSHuge
  };
  // etc...
};
Run Code Online (Sandbox Code Playgroud)

在代码中,我必须参考这些TGNumberFormat::kNEAAnyNumber例子.我正在编写一个经常使用这些值并且代码变得丑陋的GUI.有什么方法可以导入这些枚举,只需输入kNEAAnyNumber?我真的不希望这些名称中的任何一个重叠.我已经尝试了各种使用using关键字的方法,没有人会编译.

c++ enums

5
推荐指数
1
解决办法
307
查看次数

C++使用来自不同文件的类

我正在尝试编写一系列使用相同main(main.cpp)文件的程序,但使用不同的辅助源文件(object1.cpp,object2.cpp等).所以我将基本上像这样编译它们:

g++ -o program1.exe main.cpp object1.cpp
g++ -o program2.exe main.cpp object2.cpp
Run Code Online (Sandbox Code Playgroud)

我想要做的是让objectN.cpp定义一个实现了某些方法的类,它将从主文件中调用.源代码看起来像这样:

头文件(object.hpp)

#ifndef INCLUDE_OBJECT_HPP
#define INCLUDE_OBJECT_HPP

class MyObjectInterface
{
public:
  MyObjectInterface();
  virtual ~MyObjectInterface() {};
  virtual void MethodA() = 0;
  virtual void MethodB() = 0;
};

#endif
Run Code Online (Sandbox Code Playgroud)

object1.cpp

#include <iostream>
#include "object.hpp"

using namespace std;

class MyObject : public MyObjectInterface
{
private:
  int member;

public:
  MyObject(int a)  { member = a; }
  void MethodA() { cout << member << endl; }
  void MethodB() { cout << member*2 << endl; } …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance interface class

4
推荐指数
1
解决办法
2万
查看次数

我可以恢复从未提交的已删除文件吗?

我将一个目录添加到存储库但没有提交更改.然后我删除它,没意识到它会删除整个目录.要清楚这正是我所做的:

svn add directory/
svn remove directory/ --force
Run Code Online (Sandbox Code Playgroud)

有没有办法恢复文件或我是SOL?

PS究竟谁决定SVN应该有两个不同的命令delete,remove并且做同样的事情?

svn file recover delete-file

3
推荐指数
1
解决办法
186
查看次数

标签 统计

c++ ×2

class ×1

delete-file ×1

enums ×1

file ×1

inheritance ×1

interface ×1

recover ×1

svn ×1