当前位置: 首页 > news >正文

手机网站开发公司互联网销售平台有哪些

手机网站开发公司,互联网销售平台有哪些,2023独一无二的公司名,单页面网站推广1) C 中面向对象编程如何实现数据隐藏? 在 C 中,数据隐藏是通过将类的成员变量和方法的访问权限控制起来实现的。通常,数据隐藏是通过使用 访问控制 机制来实现的,C 提供了三种访问控制修饰符: private: 使成员变量和…

1) C++ 中面向对象编程如何实现数据隐藏?

在 C++ 中,数据隐藏是通过将类的成员变量和方法的访问权限控制起来实现的。通常,数据隐藏是通过使用 访问控制 机制来实现的,C++ 提供了三种访问控制修饰符:

  • private: 使成员变量和成员函数只能在类的内部访问,外部无法直接访问。这是实现数据隐藏的主要方式。
  • protected: 使成员变量和成员函数在当前类和派生类中可以访问,但外部代码无法访问。
  • public: 使成员变量和成员函数可以被类的外部直接访问。

通过将类的内部数据(如成员变量)声明为 privateprotected,并通过 public 成员函数来提供对这些数据的间接访问,我们可以有效地隐藏类的内部实现细节,从而实现数据封装和数据隐藏。

示例代码:

#include <iostream> 
using namespace std; 
class Account { 
private: double balance; // 余额是私有的,外部无法直接访问 
public: // 构造函数 Account(double initial_balance) { 
if (initial_balance >= 0) { 
balance = initial_balance; 
} 
else { 
balance = 0; 
cout << "Initial balance must be positive." << endl; 
} } // 提供公共方法来访问和修改余额 
void deposit(double amount) { 
if (amount > 0) { 
balance += amount; 
} } 
void withdraw(double amount) { 
if (amount > 0 && amount <= balance) { 
balance -= amount; 
} else { 
cout << "Invalid withdrawal amount." << endl; 
} } 
double getBalance() const { 
return balance; 
} }; 
int main() { 
Account myAccount(1000); 
myAccount.deposit(500); 
cout << "Balance: " << myAccount.getBalance() << endl; 
myAccount.withdraw(300); 
cout << "Balance after withdrawal: " << myAccount.getBalance() << endl; return 0; 
}

在上面的例子中,balance 是私有的,外部无法直接访问。通过 depositwithdrawgetBalance 等公有函数来访问和修改 balance,这样就隐藏了类的实现细节,防止了外部直接修改余额的风险。

2) C++ 中面向对象编程如何处理异常?

C++ 使用 异常处理机制(Exception Handling)来处理程序运行过程中可能出现的错误。异常机制通过 trythrowcatch 语句实现。

  • try 块:包含可能抛出异常的代码。
  • throw 语句:用于抛出异常。
  • catch 块:捕获并处理异常。

在面向对象编程中,异常处理通常涉及到抛出和捕获自定义的异常类。C++ 允许开发者定义自己的异常类型,并且可以通过继承标准异常类(如 std::exception)来创建特定类型的异常。

示例代码:
#include <iostream> 
#include <stdexcept> // 引入标准异常类 
using namespace std; 
// 自定义异常类 
class InsufficientFundsException : public exception { 
public: const char* what() const noexcept override { 
return "Insufficient funds in the account!"; 
} }; 
class Account { 
private: double balance; 
public: Account(double initial_balance) { 
if (initial_balance < 0) { 
throw invalid_argument("Initial balance cannot be negative."); 
}
balance = initial_balance; 
} 
void deposit(double amount) { 
if (amount <= 0) { throw invalid_argument("Deposit amount must be positive."); 
} 
balance += amount; 
} 
void withdraw(double amount) { 
if (amount > balance) { 
throw InsufficientFundsException(); // 抛出自定义异常 
} 
balance -= amount; 
} 
double getBalance() const { 
return balance; } }; int main() { 
try { Account myAccount(500); myAccount.deposit(200);
myAccount.withdraw(800); // 这将抛出异常 
} 
catch (const InsufficientFundsException& e) { 
cout << "Error: " << e.what() << endl; } catch (const exception& e) { 
cout << "Standard Exception: " << e.what() << endl; 
} 
catch (...) { 
cout << "Unknown exception occurred." << endl; } return 0; 
}
关键点:
  1. 异常抛出:当 withdraw 方法检测到余额不足时,抛出了 InsufficientFundsException 异常。
  2. 异常捕获:使用 catch 块捕获特定的异常类型。可以根据不同的异常类型执行不同的处理逻辑。
  3. 标准异常类:C++ 标准库提供了许多预定义的异常类,如 std::invalid_argumentstd::out_of_rangestd::runtime_error 等,通常会继承自 std::exception

总结:

  • 数据隐藏:通过使用 privateprotected 访问修饰符,并通过 public 方法进行数据访问和操作来实现。
  • 异常处理:通过 trythrowcatch 来处理异常,能够捕获并处理程序中的错误。可以使用标准异常类或自定义异常类来表达不同的错误情况。
http://www.mmbaike.com/news/44417.html

相关文章:

  • php网站开发教程爱站网权重查询
  • 荣耀手机商城官方网站售后公司网站建设哪个好
  • 建设银行网站查询业务收费吗页面seo优化
  • 化妆品营销推广方案好口碑关键词优化
  • 网站建设排版在哪里推广自己的产品
  • 福田企业网站建设企业网站建设需要多少钱
  • 自己做网站卖东西可以晚上看b站
  • 网站服务器如何搭建竞价外包推广专业公司
  • 新疆做网站首选百度网盘官方网站
  • 河源建设局网站网络公司经营范围
  • 网站做哪些比较赚钱方法刷关键词的平台
  • 网站怎么做 吸引人app平台搭建需要多少钱
  • 做软件的网站建设百度站长中心
  • 企业自适应网站建设不受国内限制的浏览器下载
  • wordpress 底部备案号网站seo服务
  • 有人用dw做网站吗百度惠生活商家入驻
  • 北京网站备案要求吗站长工具无忧
  • 如何做视频教程网站网站快速排名优化哪家好
  • 手机微网站与微官网微商如何引流与推广
  • 阿里云服务器做盗版电影网站seo和sem的联系
  • 党建网站建设体球网足球世界杯
  • 做移门的网站东莞做网站最好的是哪家
  • 用vps刷网站流量要怎么做保定seo推广外包
  • 聊城网站建设包括哪些域名站长工具
  • php做网站开发有什么框架成都公司网站seo
  • 建站平台取名字百度电话客服24小时
  • 做门户网站的营业范围网络营销的内容
  • 微信客户管理系统平台官网安卓优化大师最新版下载
  • 嘉定网站开发网站推广的方式有哪些
  • 做房源网站搜狗网站收录提交入口