小编bao*_*hen的帖子

关于C++包括另一个类

我有两个文件:

File1.cpp
File2.cpp
Run Code Online (Sandbox Code Playgroud)

File1是我的主类,它有main方法,File2.cpp有一个类调用ClassTwo,我想在File1.cpp中创建一个ClassTwo对象

我一起编译它们

g++ -o myfile File1.cpp File2.cpp
Run Code Online (Sandbox Code Playgroud)

但是当我尝试创造时

//创建第二类对象

ClassTwo ctwo;
Run Code Online (Sandbox Code Playgroud)

它不起作用.

错误是

ClassTwo未在此范围内声明.

这是我的main.cpp

#include <iostream>
#include <string>
using namespace std;

int main()
{
//here compile error - undeclare ClassTwo in scope.
ClassTwo ctwo;

//some codes
}
Run Code Online (Sandbox Code Playgroud)

这是我的File2.cpp

#include <iostream>
#include <string>

using namespace std;

class ClassTwo
{
private:
string myType;
public:
void setType(string);
string getType();
};


void ClassTwo::setType(string sType)
{
myType = sType;
}

void ClassTwo::getType(float fVal)
{
return myType;
}
Run Code Online (Sandbox Code Playgroud)

得到了将我的File2.cpp拆分成另一个.h文件的响应但是如果我声明一个类,我如何将它拆分成另一个.h文件,因为我需要维护变量(私有)和函数的公共和私有(公共) )如何在main方法中将ClassTwo ctwo转换为File1.cpp

c++

18
推荐指数
2
解决办法
10万
查看次数

C++排序类数组

C++排序数组类

我有一个数组对象记录以下..

这是在classone.h

ClassOne
{
string name;
int data;
float valueData;
}
Run Code Online (Sandbox Code Playgroud)

并在classone.cpp中创建构造函数

在main.cpp我创建了大小为10的ClassOne数组

#include "classone.h"

ClassOne cone[10];
Run Code Online (Sandbox Code Playgroud)

接下来是我为对象记录了几个值

现在ClassOne有3个对象

cone[0]
name = "hello"
data = 1
valueData = 20

cone[1]
name = "panda"
data = 2
valueData = 15

cone[2]
name = "joe"
data = 3
valueData = 25
Run Code Online (Sandbox Code Playgroud)

我想要实现的是做一个可以通过valueData最高升序形式重新排列这个数组的排序所以..它将是

cone[2]然后cone[0]cone[1]..

但问题是,如果我使用冒泡排序,我尝试谷歌并找到一些,他们正在排序,例如 int a[]={9,6,5,23,2,6,2,7,1,8};

但我想按类数组对象排序.并重新安排价值,我如何实现这一目标.

因此,当我cout它将是

-- Highest to lowest --
1) Name: Joe , Data = 3, …
Run Code Online (Sandbox Code Playgroud)

c++

13
推荐指数
4
解决办法
3万
查看次数

C++ SQLite3 如何知道选择是否返回 0 行

C++ SQLite3 如何知道选择是否返回 0 行

我有一个 SQLite3 的 select 语句,我怎么知道在执行 sql 语句后,结果是 0 行,没有找到匹配项等等。

我如何修改我的代码,以便如果找到 0 行,它就不会执行将结果放入向量的部分。

我的代码如下:

sqlstatement = "SELECT * from abe_account where department="+quotesql(department)+" AND name="+quotesql(name)+";";


    std::vector< std::vector < std:: string > > result;
    for( int i = 0; i < 4; i++ )
    result.push_back(std::vector< std::string >());


    sqlite3_prepare( db, sqlstatement.c_str() , -1, &stmt2, NULL );//preparing the statement
    sqlite3_step( stmt2 );//executing the statement

    while( sqlite3_column_text( stmt2, 0 ) )
{
    for( int i = 0; i < 4; i++ …
Run Code Online (Sandbox Code Playgroud)

c++ sqlite

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

重新定义课程

我有三个.cpp文件和two header files.

但是当我编译它们时,意味着Point.cpp,Data.cpp和main.cpp,它会说

Data.h:6:7 redefinition of Data at 'Data.h'
Data.h:6:7 previously definition of 'class Data'
Run Code Online (Sandbox Code Playgroud)

下面是我的Data.h(以前称为2.h)

#include <iostream>
#include <string>

using namespace std;

class Data
{
private:
string sType;
public:
Data();
Data(string);
void setSType(string);
string getSType();
};
Run Code Online (Sandbox Code Playgroud)

下面是我的data.cpp

#include "Data.h"

Data::Data()
{
sType = "";
}

Data::Data(string s)
{
sType = s;
}

void Data::setSType(string ss)
{
sType = ss;
}

string Data::getSType()
{
return sType;
}
Run Code Online (Sandbox Code Playgroud)

下面是我的PointD.h(以前称为3.h)

#include <iostream>
#include <string>
#include "Data.h"

using namespace …
Run Code Online (Sandbox Code Playgroud)

c++

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

标签 统计

c++ ×4

sqlite ×1