【发布时间】:2017-01-15 00:46:07
【问题描述】:
我对 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。如果这个语法不正确,为什么我会经常看到它演示。如果正确,我是否缺少编译器选项、头文件或其他内容?
【问题讨论】:
-
您似乎忘记将链接添加到您所引用的帖子。
-
代码出现在stackoverflow.com/questions/13747980/…;是的,Java。
-
第一个代码示例不是 C++。
-
代码的原始来源可能是stackoverflow.com/questions/226977/…。