小编anu*_*umi的帖子

如何在C++中为同一个类定义不同的类型

我想有几种类型共享相同的实现,但在C++中仍然是不同的类型.

为了用一个简单的例子来说明我的问题,我想有一个Apples,Oranges和Bananas的类,它们都具有相同的操作和相同的实现.我希望他们有不同的类型,因为我希望通过类型安全来避免错误.

class Apple {
     int p;
public:
     Apple (int p) : p(p) {}
     int price () const {return p;}
}

class Banana {
     int p;
public:
     Banana (int p) : p(p) {}
     int price () const {return p;}
}

class Orange ...
Run Code Online (Sandbox Code Playgroud)

为了不复制代码,看起来我可以使用基类Fruit并从中继承:

class Fruit {
     int p;
public:
     Fruit (int p) : p(p) {}
     int price () const {return p;}
}

class Apple: public Fruit {};
class Banana: public Fruit {};
class Orange: public Fruit {};
Run Code Online (Sandbox Code Playgroud)

但是,构造函数不是继承的,我必须重写它们.

是否有任何机制(typedef,templates,inheritance …

c++ types

83
推荐指数
4
解决办法
6642
查看次数

将动态链接的elf二进制文件转换为静态链接

是否可以将动态链接的elf二进制文件转换为静态链接的?

c c++ linux elf

8
推荐指数
1
解决办法
5419
查看次数

标签 统计

c++ ×2

c ×1

elf ×1

linux ×1

types ×1