C++中怎么创建CryptoCurrency类
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"C++中怎么创建CryptoCurrency类",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++中怎么创建CryptoCurrency
千家信息网最后更新 2026年11月01日C++中怎么创建CryptoCurrency类
本篇内容主要讲解"C++中怎么创建CryptoCurrency类",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++中怎么创建CryptoCurrency类"吧!
// @url: https://repl.it/@MrToph/CPPBasics-Classes-1#include#include #include //自动解析std命名空间,所以我们可以写字符串而不是std::stringusing namespace std;//声明一个类。//类通常在头文件(.h或.hpp)中声明。class Currency{ //默认情况下,成员变量和函数是私有的。 string name; double priceInUSD; //此后的所有成员都是公共的 //直到找到"private:"或"protected:"。 public: //默认构造函数 Currency(); //另一个带两个参数的构造函数 Currency(const string &_name, const double price); //成员函数声明(要遵循的实现) void setName(const string &dogsName); void setPrice(double price); //不修改对象状态的函数应该标记为const。 //如果给定对象的const引用,则允许你调用它们。 void print() const; //函数也可以在类体内定义。 //这样定义的函数会自动内联。 void bark() const { cout << name << " barks!\n"; } // C++有析构函数。它们是建造者的标识当一个对象被删除或超出范围时调用它们。 virtual ~Currency();}; //分号必须遵循类声明。//类成员函数通常在.cpp文件中实现。Currency::Currency(){ cout << "A currency has been created\n";}Currency::Currency(const string &_name, double price){ name = _name; priceInUSD = price; cout << name << " has been created with a price of " << price << "USD\n";}void Currency::setName(const string ¤cyName){ name = currencyName;}void Currency::setPrice(double price){ priceInUSD = price;}//请注意,仅在声明中需要"virtual",而不是定义。void Currency::print() const{ cout << name << " is at a price of " << priceInUSD << "USD\n";}Currency::~Currency(){ cout << name << " has been hard forked!\n";}//struct与类相同,但它们通常仅用于封装数据很少包含方法,在这些情况下更喜欢类struct block_header{ //默认情况下,结构字段是公共的 uint64_t timestamp; uint64_t blockNumber; //指向block_header对象的指针 block_header* prevBlock;};int main(){ //这会运行默认构造函数 Currency bitcoin; bitcoin.setName("Bitcoin"); bitcoin.setPrice(1E5); bitcoin.print(); Currency eos("EOS", 100); eos.print(); block_header genesis; genesis.timestamp = 1528445288; genesis.blockNumber = 0; //没有用户定义构造函数的结构 //可以通过"aggregate initialization"初始化 block_header second{1528445288, 1, &genesis}; cout << "Timestamp of second block " << second.timestamp << "\n"; //或通过提供struct的字段名称显式它们需要与结构中定义的顺序相同,但允许你跳过初始化值 block_header third{.blockNumber = 2, .prevBlock = &second}; // third.timestamp初始化为0 cout << "Timestamp of block after block #" << third.prevBlock->blockNumber << ": " << third.timestamp << "\n";}
继承
如果没有强制性的Animal类示例,继承的简介会是什么?请注意,C++支持多重继承,这是一种(有争议的)功能,其中一个类可以同时从多个类继承。在开发智能合约时,你可能永远不需要它,所以让我们看一下从单个类继承的情况。
#includeusing namespace std;class Animal{ string name; int weight; public: //默认构造函数将其值"delegates"给其他构造函数 Animal() : Animal("Peter", 80){}; //构造函数获取名称和权重并初始化 //具有使用相同名称的"initializer list"的类成员 Animal(const string &name, int weight) : name(name), weight(weight) { // we already write the function body here cout << name << " was created\n"; }; void setName(const string &dogsName); string getName() const; void setWeight(int weight); //可以覆盖的函数必须声明为_virtual_ virtual void print() const; //函数也可以在类声明中定义 //但要小心,因为它们会自动内联。 void eat() { weight += 5; } //如果要派生类,析构函数应该是虚拟的; //如果它不是虚拟的,那么如果通过基类引用或指针销毁对象,则不会调用派生类的析构函数。 virtual ~Animal();};void Animal::setName(const string &animalName){ name = animalName;}string Animal::getName() const{ return name;}void Animal::setWeight(int animalWeight){ weight = animalWeight;}//"virtual"仅在声明中需要,而不是在定义中。void Animal::print() const{ cout << name << " weighs " << weight << "kg\n";}Animal::~Animal(){ cout << "Animal " << name << " died\n";}// Dog现在是Animal的子类,并继承了Animal的成员。//但是如果没有getter,可能无法直接访问私有成员或方法。class Dog : public Animal{ string breed; public: Dog(const string &name,int weight,const string &breed):Animal(name,weight),breed(breed) { cout << "Woof\n"; } //被重载的虚拟方法应标记为重载。 void print() const override;};void Dog::print() const{ //调用Animal的打印功能 Animal::print(); //无法直接访问.name,因为它是私有的 //需要访问public getter getName cout << Animal::getName() << " is a " << breed << " dog\n";}int main(){ Dog dog("Carl", 10, "Dackel"); dog.print();}
到此,相信大家对"C++中怎么创建CryptoCurrency类"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
函数
成员
C++
对象
情况
方法
相同
名称
结构
私有
内容
功能
字段
指针
文件
标记
学习
实用
更深
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技怎么样
苏州找大状互联网科技有限公司
中国互联网科技股
互联网通讯科技
互联网科技资迅
杭州互联网科技公司
互联网科技视频
互联网科技小额贷款
科技互联网创业计划书
国外互联网科技网站
须眉科技是互联网公司吗
宁夏众和广鑫互联网科技有限公司
智腾互联网科技有限公司
青岛科技大学互联网大赛研究生
成都互联网科技公司工作好不好
科技大学互联网
上海钢联属于互联网科技股吗
互联网科技创业计划的风险分析
伍佰万互联网科技是干嘛的
中国主要互联网科技公司
互联网 科技创业
中国互联网科技发展
睿民互联网科技
互联网养老 桔豆科技
互联网金融监管科技
深圳前海聚择互联网科技有限公司
阿里巴巴算科技企业还是互联网
互联网对科技的发展
长沙茂晟互联网科技有限公司
中国主要互联网科技公司