Class 如何在C++类中使用引用和指针?
我有以下问题:我正在使用一个现有的类来创建一个名为server\t的对象。 另一个函数需要*server\t作为参数 我想缩减代码并添加一个包含以下成员的类:Class 如何在C++类中使用引用和指针?,class,pointers,reference,Class,Pointers,Reference,我有以下问题:我正在使用一个现有的类来创建一个名为server\t的对象。 另一个函数需要*server\t作为参数 我想缩减代码并添加一个包含以下成员的类: #ifndef _PMCLASS #define _PMCLASS #include "pmlib.h" class pmServer{ private: server_t server ; counter_t counter; line_t lines; server_t * server
#ifndef _PMCLASS
#define _PMCLASS
#include "pmlib.h"
class pmServer{
private:
server_t server ;
counter_t counter;
line_t lines;
server_t * server2;
int set, frequency, aggregate ;
public:
pmServer();
pmServer(int set, int frequency, int aggregate);
~pmServer();
void setSet(int s);
void setFrequency(int f);
void setAggregate(int a);
int getSet(void);
int getFrequency(void);
int getAggregate(void);
server_t* getServerT(void);
counter_t* getCounterT(void);
line_t* getLineT(void);
server_t* getZeiger(void);
};
#endif
然后我创建了构造函数:
#include "pmClass.h"
#include <iostream>
using namespace std;
void pmServer::setSet(int s){
this->set = s;
}
void pmServer::setFrequency(int f){
this->frequency = f;
}
void pmServer::setAggregate(int a){
this->aggregate = a;
}
int pmServer::getSet(void){
return set;
}
int pmServer::getFrequency(void){
return frequency;
}
int pmServer::getAggregate(void){
return aggregate;
}
server_t* pmServer::getPointer(){
return &server;
}
pmServer::pmServer(){
set = -1;
frequency = 0;
aggregate = 1;
我明白了:
错误:类型为“server\u t*”的参数pmServer::与“server\u t*”不匹配
但这项工作没有任何问题:
void run() {
// Construct / read in the initial mesh.
//pmServer server1;
server_t test;
pm_set_server("xxx.xxx.xxx.xxx", 6526,&test);
build_initial_mesh();
问题是,我不想每次都创建新的项目,我想在构造函数中这样做……有人知道吗
谢谢
<>问候语托马斯< P> C++,函数调用需要括号*:< /P>
pm_set_server("xxx.xxx.xxx.xxx", 6526,server1.getPointer());
*例外情况适用于运营商。服务器和服务器2有什么意义?它们似乎没有被使用。
pm_set_server("xxx.xxx.xxx.xxx", 6526,server1.getPointer());