我有两个文件:
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++排序数组类
我有一个数组对象记录以下..
这是在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++ 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) 我有三个.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)