Class 如何在C++类中使用引用和指针?

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

我有以下问题:我正在使用一个现有的类来创建一个名为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 * 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());