Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C+中测试某些类+; 我只是想在C++程序中测试一些类,但是在XCODE.中有一个“预期表达式”错误。_C++_Class_Expression_Public_Void - Fatal编程技术网

在C+中测试某些类+; 我只是想在C++程序中测试一些类,但是在XCODE.中有一个“预期表达式”错误。

在C+中测试某些类+; 我只是想在C++程序中测试一些类,但是在XCODE.中有一个“预期表达式”错误。,c++,class,expression,public,void,C++,Class,Expression,Public,Void,实际上这是我写的代码: #include <iostream> using namespace std; class A { public : virtual void M1 () { cout << " A::M1"; } void M2 () { cout << " A::M2"; } virtual void M3 () { cout << " A::M3"; } }; class B : publ

实际上这是我写的代码:

#include <iostream>


using namespace std;


class A {
    public :
    virtual void M1 () { cout << " A::M1"; }
    void M2 () { cout << " A::M2"; }
    virtual void M3 () { cout << " A::M3"; }
};


class B : public A {
    public :
    void M1 () { cout << " B::M1"; }
    virtual void M2 () { cout << " B::M2"; }
    void M3 () { cout << " B::M3"; }
};


class C : public B {
    public :
    void M1 () { cout << " C::M1"; }
    void M2 () { cout << " C::M2"; }
    void M3 () { cout << " C::M3"; }
};


class D {
    public :
    D (A v, A& r, B& s) : va (v), ra (r), rb (s) { }
    void M1 () { cout << " D::M1 -->"; va.M1 (); ra.M1 (); rb.M1 (); cout << ’\n’; }
    void M2 () { cout << " D::M2 -->"; va.M2 (); ra.M2 (); rb.M2 (); cout << ’\n’; }
    void M3 () { cout << " D::M3 -->"; va.M3 (); ra.M3 (); rb.M3 (); cout << ’\n’; }
    protected :
    A va; A& ra; B& rb;
};


int main(int argc, const char * argv[])
{

A a; B b; C c; D d1 (a, a, b); D d2 (a, b, c); D d3 (a, c, b); D d4 (b, c, c);
cout << "avec d1 :\n"; d1.M1 (); d1.M2 (); d1.M3 ();
cout << "avec d2 :\n"; d2.M1 (); d2.M2 (); d2.M3 ();
cout << "avec d3 :\n"; d3.M1 (); d3.M2 (); d3.M3 ();
cout << "avec d4 :\n"; d4.M1 (); d4.M2 (); d4.M3 ();

return 0;
#包括
使用名称空间std;
甲级{
公众:

虚拟空M1(){cout我很确定这是使用的单引号。
'\n'
。请将它们更改为
'\n'

替换(
)的所有(
):


void M1(){错误消息肯定带有行号。错误来自哪一行?在D类中,3条空行(M1、M2和M3)非常完美。感谢您的帮助实际上我会使用“\n”是的,我刚刚测试过。使用“\n”进行测试"@stevejpurves:为什么你要从一个
char
改成一个char数组?没错,我刚刚把它改成了'\n',它就工作了。实际上我甚至不知道这种单引号是从哪里来的。就是说weird@Jesse在这段代码中,只需保持一致性。整个代码中都使用了双引号,但我明白您的意思;\n是一个单字符。endl作为m不过,这两种方法可能都更好。
void M1 () { cout << " D::M1 -->"; va.M1 (); ra.M1 (); rb.M1 (); cout << ’\n’; }
void M2 () { cout << " D::M2 -->"; va.M2 (); ra.M2 (); rb.M2 (); cout << ’\n’; }
void M3 () { cout << " D::M3 -->"; va.M3 (); ra.M3 (); rb.M3 (); cout << ’\n’; }
void M1 () { cout << " D::M1 -->"; va.M1 (); ra.M1 (); rb.M1 (); cout << "\n"; }
void M2 () { cout << " D::M2 -->"; va.M2 (); ra.M2 (); rb.M2 (); cout << "\n"; }
void M3 () { cout << " D::M3 -->"; va.M3 (); ra.M3 (); rb.M3 (); cout << "\n"; }
void M1 () { cout << " D::M1 -->"; va.M1 (); ra.M1 (); rb.M1 (); cout << endl; }
void M2 () { cout << " D::M2 -->"; va.M2 (); ra.M2 (); rb.M2 (); cout << endl; }
void M3 () { cout << " D::M3 -->"; va.M3 (); ra.M3 (); rb.M3 (); cout << endl; }