小编BIU*_*BIU的帖子

C++中的朋友声明 - 公共和私人之间的区别

有人告诉我,在班级的公共或私人领域宣布朋友课程之间存在差异,但我似乎无法在网上找到任何关于此问题的内容,而且我不确定他们是否知道他们在谈论什么.

我的意思是区别:

class A
{
 public: 
      friend class B;
 };
Run Code Online (Sandbox Code Playgroud)

class A
{
 private: //or nothing as the default is private
      friend class B;
 };
Run Code Online (Sandbox Code Playgroud)

有区别吗?

c++ private public friend

131
推荐指数
2
解决办法
3万
查看次数

装饰设计模式,功能bug

这是家庭作业......我不是要求答案,我只是有一个错误,我不知道该怎么办.谢谢!

有问题的bug可能与赋值本身无关,但这里仍然是赋值说明:

我正在进行一项任务(在C++中),旨在通过披萨与浇头的经典例子来教授使用装饰设计模式.(我的教授也可以从http://simplestcodings.com/2010/12/26/decorator-design-pattern-example-ni-c/直接解除它.我遇到了一个小问题,我想知道是否有人可以帮助我.

我有一个主菜单(比萨店)对象,它从用户那里获取输入并在披萨上执行所需的操作.用户从一个基本披萨开始,然后可以添加配料,直到它们完成.所以我的"newPizza"函数所做的第一件事是将新的Pizza声明为a Plain,它是抽象类的子类Pizza.

然后他们就可以进入他们选择的浇头.每次都会Pizza向该addToppings()函数发送指向同一对象的指针,添加新的装饰,并返回指针.每个装修从价位,从继承继承pizzaToppings,从继承Pizza.

这是主要订单功能的相关部分:

Pizza* Menu::newPizza()
{
cout << "\nNew Pizza";

//accept the next choice
int choose = 0;

//create the new pizza
Plain * currentPizza = new Plain();

//until they choose to end the order
while (choose != 3)
{
    //accept the choice
    cin >> choose;

    switch (choose)
    {
        //if they want to add a new topping
    case 1:
        {
            //add topping to …
Run Code Online (Sandbox Code Playgroud)

c++ initialization class decorator

9
推荐指数
1
解决办法
478
查看次数

C++清除内存仍然可访问

我有一个问题,为什么我可以访问某些内存,我认为这与我理解(或不理解)编译器如何在内存中保存内容的方式有关.这是我正在使用的示例代码:

头文件:

#include <iostream>
using namespace std;

class A
{
public:
int value;
A (int newValue = 5)
{
    value = newValue;
    cout << "A()" << endl;
}
~A() { cout <<"~A()" << endl; }
void func1() {cout << "A::func1()" << endl; }

};


class B : public A
{
public:
B() { A::value = 0; cout << "B()" << endl; }
~B() { cout << "~B()" << endl; }
virtual void func1 () { cout << "B::func1()" << endl; …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio-2010

2
推荐指数
2
解决办法
317
查看次数

Java Servlet错误'资源不可用'

我正在尝试构建一个Java servlet,并且我已经根据我的教授给我们班级的指示做了一切,但是我得到了一个奇怪的错误.

背景:我正在使用Java EE Helios和Tomcat 7.

我在Eclipse中启动了一个新的动态Web项目,我创建了一个index.jsp页面,它只获取用户名并将其发送到servlet,然后打印出Hello,[username].代码是教授给我们的所有示例代码,适用于我班级中的其他人.

我创建了一个名为ServletHome的新Servlet,它位于一个名为servlets的包中.

当我从Eclipse运行程序时,它启动Tomcat很好,没有问题.我可以导航到index.jsp页面,看起来很好.

问题是,当我填写我的名字并按下"提交"按钮时,我收到一条tomcat 404错误消息:"请求的资源(/ MyFirstServlet/ServletHome)不可用."

有任何想法吗?

谢谢!!

---编辑:代码---

的index.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"     "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="ServletHome" method="POST">
    First Name: <input type="text" name="firstName" size="20"><br>
    Last Name: <input type="text" name="lastName" size="20"> <br>
    <br> <input type="submit" value="Submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

ServletHome.java:

package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public …
Run Code Online (Sandbox Code Playgroud)

java jsp tomcat servlets

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