C++中怎么创建CryptoCurrency类
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容主要讲解"C++中怎么创建CryptoCurrency类",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++中怎么创建CryptoCurrency
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
服务器没有网络能启动吗
centos7服务器安全配置书
网络安全ccie教材
服务器版主机有必要升级系统吗
监控视频什么时候有云服务器的
sql 获取数据库时间
柞水软件开发有限公司
软件开发 原型模型
sqlyog数据库改密码
软件开发经常会遇到什困难
网络安全基金会电话
金蝶加密网络服务器
图书馆数据库设计
给客户造成网络安全隐患
同花顺金融精准数据库
闪字风扇软件开发
我的世界原初修真服务器地址
手机怎样备份wifi数据库
上海电脑软件开发费用是多少
商丘市网络安全课堂APP
平讯科技互联网设计
惠山区定制软件开发哪里好
遂宁云网软件开发有限公司
奥拉朱旺视频软件开发
网络安全期末测试题及答案
服务器 简单文件管理
安装不上数据库连接
网络安全指挥中心待遇
天津中学生的网络安全教育
服务器开机常报警