内联访问说明符

时间:2017-01-15 00:46:08

标签: c++ class oop

我是c +中面向对象编程的新手,当访问说明符与变量,类或函数内联使用时,我在语法方面遇到了一些困难。下面的代码不是我的。它来自this帖子。从线程的受欢迎程度来看,我确信其他人可以编译它。但是我遇到了困难。

public class CartEntry
{
    public float Price;
    public int Quantity;
}

public class CartContents
{
    public CartEntry[] items;
}

public class Order
{
    private CartContents cart;
    private float salesTax;

    public Order(CartContents cart, float salesTax)
    {
        this.cart = cart;
        this.salesTax = salesTax;
    }

    public float OrderTotal()
    {
        float cartTotal = 0;
        for (int i = 0; i < cart.items.Length; i++)
        {
            cartTotal += cart.items[i].Price * cart.items[i].Quantity;
        }
        cartTotal += cartTotal*salesTax;
        return cartTotal;
    }
}

我尝试了一个简单的类来识别问题

编译:

#include <iostream>
class C{
    int i;
    };
int main(){}

这不是:

#include <iostream>
class C{
    public int i;
    };
int main(){}

也不是这样:

#include <iostream>
public class C{
    int i;
    };
int main(){}

这样做:

#include <iostream>
class C{
    public: int i;
    };
int main(){}

这不是:

#include <iostream>
public: class C{
    int i;
    };
int main(){}

我使用的是没有任何构建标志的GNU c ++编译器V6.3.1。如果这种语法不正确,为什么我会经常看到它的演示。如果它是正确的,我是否缺少编译器选项,头文件或其他东西?

1 个答案:

答案 0 :(得分:2)

答案很简单,您的示例帖子讨论的是Java而不是C ++。访问说明符和指针(以及许多其他项)的语法是不同的。