C++ double ODER int als Parameter übergeben

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das ist möglich. Dazu benötigst du Vorlagen("templates"). Also z.B.:

template<class TheType>
void Function(TheType var) { std::cout << var; }

Dieses Beispiel funktioniert nicht nur für "int" oder "double". Sondern auch für alle anderen Typen.

Mit "template" kann man viel nützliches machen und sehr mächtige Entwurfsmuster entwickeln. Jedoch wird sowas auch recht schnell äußerst unübersichtlich.

übergeb doch einfach nur n double und caste ihn dann gegebenfalls

Du kannst auch Funktionen überladen. Im selben Modul kann einmal

void Funktion(int Var);

und

void Funktion(double Var);

und

void Funktion(char*Var);

stehen. Der Compiler sucht bei der Referenzierung die passende Funktion aus.

C++ Paritätsbit Aufgaben hilfe?

Hi,

ich brächte mal hilfe und zwar habe ich seit 5 wochen in der schule Programmieren. Dazu hat mir mein Lehrer die Aufgabe erstellt eine Dezimal Zahl als erstes in Binär zu übersetzen und dann die Parrität zu vergleichen. Mein Lehrer erklärt leider nicht viel deswegen verstehe ich die erste For Schleife nicht ganz. Wenn mir die Jemand erklären kann wäre das gut. Dazu funktioniert das so noch nicht da wenn ich 445 als zahl eingebe die zahl als 32 bit wie folgt ausgegeben wird:

0000 0000 0000 0000 0000 0001 1011 1101 = Zahl in 32bit binär

Even Even Even Even = Parität

Aber es müsste raus kommen in der Parität spalte

Even Even Odd Even

Dies wäre soweit mein Lösungsansatz.

#include <iostream>
#include <cstdlib>
                                                                                                                                                                                                                   
int i;
int a;
int bits[sizeof(int)*8];
unsigned int unum;
int num;
                                                                                                                                                                                                                   
int main (int nargs, char **args) {
        num=atoi(args[1]);                                                                                                                                                                                         
        unum = (unsigned int)num;
                                                                                                                                                                                                                   
        for(int i=0; i<sizeof(int)*8; i++) {
                bits[i]=unum % 2;                                                                                                                                                                                  
                unum /=2;                                                                                                                                                                                          
        }                                                                                                                                                                                                          
        if(bits[1,2,3,4] == bits[5,6,7,8]) {
                std::cout << "Even\n";
                                                                                                                                                                                                                   
        } else {
                std::cout << "Odd\n";
        }                                                                                                                                                                                                          
        if(bits[9,10,11,12] == bits[13,14,15,16]) {
                std::cout << "Even\n";
        } else {
                std::cout << "Odd\n";
        }                                                                                                                                                                                                          
        if(bits[17,18,19,20] == bits [21,22,23,24]) {
                std::cout << "Even\n";
        } else {
                std::cout << "Odd\n";
        }                                                                                                                                                                                                          
        if(bits[25,26,27,28] == bits[29,30,31,32]) {
                std::cout << "Even\n";
        } else {
                std::cout << "Odd\n";
        }                                                                                                                                                                                                          
        return 0;
}                                                                                                                                                                                                                  
...zur Frage

Was möchtest Du wissen?